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

Доброго времени суток.
Есть карточка 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 приводит к ужасающе очевидным неправильным результатам. То ли я что-то неправильо сделал и не понял, то ли идти к начальнику и говорить, что нужна новая видюха :)

Forums: 

у меня CLinfo (AMD-шная)

у меня CLinfo (AMD-шная) говорить
Preferred vector width double: 0
Для всех трех имеющизся у меня OCL-устройств (две видеокарты, GTX280 и 5870 и CPU). При этом про CPU я точно знаю что это не так.

А NVidia-вская oclDeviceQuery говорит так:

5870: CL_DEVICE_PREFERRED_VECTOR_WIDTH_ CHAR 16, SHORT 8, INT 4, FLOAT 2, DOUBLE 4
i7 920: CL_DEVICE_PREFERRED_VECTOR_WIDTH_ CHAR 16, SHORT 8, INT 4, FLOAT 2, DOUBLE 4
GTX280: CL_DEVICE_PREFERRED_VECTOR_WIDTH_ CHAR 1, SHORT 1, INT 1, FLOAT 1, DOUBLE 1

Непорядок какой-то

Разбираться в деталях (и подсовывать косинус) уже завтра или позже

А так и должно быть,

А так и должно быть, оказывается:

http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispF...

Double-precision floating point built-in function support will be added in a future release.

То есть или stream (а не OpenCL), или идти к начальству и требовать NVidia (т.е. реально ждать ферми) или ждать пока ATI это место починит.