Почему необходимо выравнивание SSE при выполнении инструкций SIMD?C++

Программы на C++. Форум разработчиков
Anonymous
Почему необходимо выравнивание SSE при выполнении инструкций SIMD?

Сообщение Anonymous »

Я новичок в C++, у меня всего 1,5 года опыта работы с этим языком.
Мне приходится работать с библиотекой, которая имеет готовые структуры данных, и она предлагает способ создать собственную структуру данных, следуя определенным правилам, чтобы адаптировать ее к библиотеке.
Это библиотека PCL. Структура данных, о которой я говорю, — это тип точки.
Одно из этих «правил» — SSE выравнивает данные типа точки по 16 байтам (я думаю, это 16 байт). Но я не понимаю почему.
Чтобы это сделать, мне приходится создавать странные союзы и структуры. Почему я не могу создать только простую структуру и поместить туда все нужные мне числа с плавающей запятой?
Я видел, что выравнивание SSE настоятельно рекомендуется для инструкций SIMD, я подозреваю, что библиотека PCL использует его. Полезны ли инструкции SIMD?

Подробнее здесь: https://stackoverflow.com/questions/682 ... structions

Вернуться в «C++»