Почему размер выравнивания для char3 равен 1 в Руководстве по программированию CUDA? - PullRequest
0 голосов
/ 12 октября 2011

Я обнаружил, что выравнивание для char1 равно 1, для char2 равно 2, для char3 равно 1 и для char4 равно 4. Почему размер выравнивания для char3 равен 1 вместо 3?

Мне также нужна некоторая помощь, чтобы понять концепцию «Требования выравнивания».

Пожалуйста, обратитесь к этому Руководству по программированию CUDA (Таблица B-1 Раздела B.3.1 в ПриложенииБ)

Большое спасибо,

Ик

1 Ответ

2 голосов
/ 12 октября 2011

Подумайте, что бы произошло, если бы у вас был массив char3 - выравнивание> 1 означало бы несмежный массив.

Для char4 однако у вас нет таких проблем с заполнениеми вы, вероятно, хотите убедиться, что char4 может обрабатываться так, как если бы это было 32-разрядное целое число, поэтому полезно выравнивание по 4 байта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...