Reply to comment

OpenCL - простой вопросик

Tagged:  

Доброго времени суток.
Есть карточка ATI Radeon HD 4870. пытаюсь разобраться, поддерживает ли она двойную точность или нет. Как смотрю - беру OpenCL- функцию GetDeviceInfo и прошу у неё CL_DEVICE_PREFERRED_
VECTOR_WIDTH_DOUBLE. В описании сказано, что возвращает 0, если "cl_khr_fp64 extension is not
supported". Собственно ноль и возвращает. Правильно ли я понял и спросил мой device?
Теперь в самой kernel-функции, предварительно всё же включив использование двойной точности: #pragma OPENCL EXTENSION cl_khr_fp64 : enable пытаюсь воспользоваться банальным косинусом. ничего не выходит - возвращается ошибка CL_INVALID_PROGRAM. Но при этом код типа:
double a = 1, b = 2;
double c = a+b;
вполне работает....

Вот собственно в чём вопрос... Для работы необходима двойная точность - ибо использование float приводит к ужасающе очевидным неправильным результатам. То ли я что-то неправильо сделал и не понял, то ли идти к начальнику и говорить, что нужна новая видюха :)

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <table> <td> <tr> <th>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Images can be added to this post.

More information about formatting options

Copyright © 2008-2011 Alex Tutubalin