In "CUDA C Programming Guide 5.0", p73 dice "Qualsiasi indirizzo di una variabile che risiede nella memoria globale o restituito da una delle routine di allocazione della memoria dal driver o dall'API di runtime è sempre allineato ad almeno 256 byte". Non conosco il significato esatto di questa frase. Qualcuno potrebbe mostrare un esempio per me? Grazie molto.allineamento cuda 256 byte seriamente?
Una domanda derivata: Quindi, che ne è l'assegnazione di un array unidimensionale di elementi di base (come int) o di quelli auto-definiti? L'indirizzo iniziale dell'array sarà multiplo di 256B, mentre l'indirizzo di ciascun elemento dell'array non è necessariamente un multiplo di 256B?
L'indirizzo iniziale di qualsiasi cudaMalloc sarà multiplo di 256. 256 è due simboli in esadecimale, saranno zero in addrexx; in modo da poter ottenere l'indirizzo come 0x0456ad00 ma non 0x0456ad80. – osgx