Поддерживает ли opencl логические переменные?

Поддерживает ли openCL логические переменные? В настоящее время я использую JOCL (java) для написания моего кода вызова openCL, и я ничего не вижу о логических значениях.


person smuggledPancakes    schedule 14.12.2010    source источник


Ответы (1)


Да; но размер bool не определен. Следовательно, у него нет связанного типа API (поскольку размер значения зависит от устройства).

См. раздел 6.1.1 Встроенный скалярный тип данных спецификации OpenCL 1.1 для получения списка поддерживаемых скалярных типов.

Из раздела 6.8.k

Аргументы функций __kernel в программе нельзя объявлять со встроенными скалярными типами bool, half, size_t, ptrdiff_t, intptr_t и uintptr_t. Размер в байтах этих типов, за исключением половины, определяется реализацией и, кроме того, может также различаться для устройства OpenCL и хост-процессора, что затрудняет выделение буферных объектов для передачи в качестве аргументов ядру, объявленному как указатель на эти типы.

person grrussel    schedule 14.12.2010
comment
Я запутался, есть тип bool, но я не могу его использовать? - person smuggledPancakes; 15.12.2010
comment
Вы можете использовать его в ядре, но не для передачи или доступа между хостом и кодом OpenCL на вычислительном устройстве, поскольку размер не определяется переносимым образом. - person grrussel; 15.12.2010