Что означает статус Intel IPP 2 (ippStsMisalignedBuf)?

 
Также может означать:
КонстантаТипОС
ERROR_FILE_NOT_FOUNDОшибка WindowsWindows
STATUS_WAIT_2NTSTATUSWindows
KERN_PROTECTION_FAILUREКод возврата ядра macOSmacOS
WDSMCCLIENT_CATEGORYHRESULTWindows
ENOENTerrnoЛюбая
DEVICE_QUEUE_NOT_BUSYКод BSODWindows
Предыдущий Следующий
ippStsNoOperation ippStsSqrtNegArg

ippStsMisalignedBuf

Здесь ошибка относится к базовому адресу памяти, а не к значениям samples. Некоторые optimized primitives требуют выравнивание для vector loads, state tables или внутренних структур; packed указатель либо pointer внутрь общего массива может это требование нарушить.

Даже память, полученная корректным allocator, становится misaligned после добавления произвольного byte offset. Поэтому проверять нужно конечный адрес, который реально передан IPP, а не только исходный allocation.

Проверьте адрес и allocator

  • Требуемое alignment для конкретного primitive и data type.
  • Остаток uintptr_t(pointer) по требуемой границе непосредственно перед вызовом.
  • Не смещает ли wrapper начало buffer на header/ROI в некратных байтах.
  • Для state/spec используйте рекомендованный size-query и allocator/layout.

Не исправляйте проблему только увеличением размера allocation. Выравнивание — отдельное свойство адреса; создайте aligned buffer или скорректируйте layout так, чтобы конечный pointer удовлетворял контракту.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.