2016-12-09 2 views
1

Я пытаюсь использовать в OpenCL в double3, но я получаю следующее сообщение об ошибке:Есть ли способ включить двойные векторы для OpenCL на Mac?

error: field has incomplete type 'double3' (aka 'struct__Unsupported_Type__Do_not_use_double3_on_this_device') 

я предположительно включен двойной точности с плавающей точкой типы данных с #pragma OPENCL EXTENSION cl_khr_fp64 : enable, но я не знаю, почему я m получить это. Это ограничение Mac OS?

ответ

3

Да, имея карту класса рабочей станции, как в Mac Pro. В системах с потребительскими видеокартами двухместные номера недоступны.

Ваше сообщение об ошибке в значительной степени говорит все это:

"struct__Unsupported_Type__Do_not_use_double3_on_this_device" 

Поддержка двойников в аппаратном обеспечении занимает пространство и власть, и является особенностью, что большинство людей не нужен, так что большинство видеокарт не поддерживают и те, которые работают медленнее, выполняют общие графические задачи, чем те, у которых одинаковое количество транзисторов, предназначенных исключительно для 32-битных поплавков.

Вот статья об относительной двойной производительности между рабочими станциями и потребительскими видеокартами: https://www.microway.com/knowledge-center-articles/comparison-of-nvidia-geforce-gpus-and-nvidia-tesla-gpus/

Короткой версией, очень дорогой потребителем карта ($ 1000) получает около 10% двойной производительности рабочей станции карты высокого класса с аналогичной производственной сложностью.