2016-01-13 3 views
2

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

Compilation error: :8:32: error: use of type 'double' requires cl_khr_fp64 extension to be enabled

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

#pragma OPENCL EXTENSION cl_khr_fp64 : enable 

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

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

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

+0

Это один год, но нашли ли вы какое-либо решение? –

ответ

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^