Как скомпилировать ядра OpenCL в SPIR-V с помощью Clang - PullRequest
0 голосов
/ 18 сентября 2018

Мне нужно скомпилировать ядра OpenCL в SPIR-V для использования с Vulkan, я пробовал с Google CLSPV https://github.com/google/clspv,, но проблема возникает с векторизацией, такие функции, как vload8, не работают.Поэтому мне нужно скомпилировать ядра OpenCL в SPIR-V, используя clang.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Я руководитель проекта для Clspv.Джесси в целом прав.

Отсутствие поддержки векторов длины 8 и 16. На данный момент намеренно выходит за рамки.
Это потому, что сам Vulkan не поддерживает это.
Мы не добавилиподдержка, имитирующая такую ​​поддержку, и у нас нет планов делать это даже в среднесрочной перспективе.
Более подробная информация о старой закрытой проблеме:
https://github.com/google/clspv/issues/8

0 голосов
/ 18 сентября 2018

Clspv - единственный инструментарий, о котором я знаю, который компилирует OpenCL C в Vulkan-совместимый SPIR-V.Вам нужно будет подать проблему против Clspv;подключение ядра, которое не может быть правильно скомпилировано, очень помогло бы.

...