Включить двойную точность в OpenCL через CUDAfy

Я работаю с CUDAfy и C#. Для моего ядра мне нужна двойная точность. В CUDA это не проблема, она автоматически поддерживается. Однако для поддержки не NVIDIA-оборудования пользователь также должен иметь возможность использовать OpenCL. Здесь, насколько я понимаю, двойная точность должна быть активирована вручную. В настоящее время компилятор выдает исключение

Ошибка компиляции::8:32: ошибка: использование типа 'double' требует включения расширения cl_khr_fp64

Чтобы сделать это в коде ядра, обычно нужно добавить строку

#pragma OPENCL EXTENSION cl_khr_fp64 : enable

Теперь есть ли способ

а) попросить CUDAfy включить двойную точность на оборудовании OpenCL или б) загрузить существующий код CUDA C вместо перевода кода C#?

Мое оборудование поддерживает CUDA 3.0 и OpenCL 1.2.

1 ответ

В ответ на часть (а)

Я использовал CUDAfy с AMD Radeon 7970 с OpenCL 1.2. Благодаря этому оборудованию CUDAfy автоматически обеспечивает двойную точность. Мне не нужно было включать его, чтобы использовать Doubles в моих методах ядра C# [Cudafy].

Другие вопросы по тегам