Как конвертировать код OpenCL из FP32 в FP16? - PullRequest
0 голосов
/ 14 ноября 2018

Есть ли способ автоматического преобразования кода, который был написан для выполнения вычислений FP32 на GPU FP32, чтобы он всегда мог выполнять вычисления FP16 вместо FP32?

То, что я пытаюсь достичь, этозапустить код для старого графического процессора (который не поддерживает тип HALF), запустить на более новом графическом процессоре, который работает ... но сам не проходит через код ...

Если это невозможно, показатьмне немного света о том, какую документацию мне следует прочитать, чтобы сделать это самому ...

(новый графический процессор - Radeon Vega Frontier, драйвер - ROCm 1.9.1, ОС - Ubuntu 18.04) (код обширный исоставленный из разных модулей ... поэтому я не буду публиковать его здесь, если не попросят)

1 Ответ

0 голосов
/ 15 ноября 2018

Нет, не существует стандартного флага, который бы говорил "рассматривайте float как половину".Вы должны изменить «плавать» на «половину».Кроме того, ваше устройство должно поддерживать вычисления fp16 (многие этого не делают, просто fp16 storage , который конвертируется в / из fp32 при загрузке / сохранении).Расширение cl_khr_fp16 добавляет поддержку полукалярных и векторных типов как встроенных типов, которые можно использовать для арифметических операций.Вам понадобится #prama в любых ядрах, которые его используют.

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