Всем привет. Пробую новую технологию. У меня Win XP 32, видеокарта 9400gt, которая не поддерживает OpenCL. Поэтому ставлю streamsdk_2-1_xp32 и линкую atiocl.dll в Delphi 2010. Все прекрасно работает с параметром CL_DEVICE_TYPE_CPU. Однако есть такие вопросы:
1. На компе без streamsdk какие действия нужно произвести чтобы заработал OpenCL. Если я просто таскаю с .exe файлом atiocl.dll то она линкуется и инициализируется контекст, однако при вызове функции clBuildProgram возвращается ошибка CL_BUILD_PROGRAM_FAILURE. После установки streamsdk все начинает работать как часы. Проверено на winxp_32/win7_64. Стало быть нужно что-то еще?
2. Касательно OpenCL.dll - что это такое и зачем это нужно? В атрибутах PE написано что это Khronos OpenCL ICD. Может это от NVIDIA? Однако когда линкую эту OpenCL.dll то вызов функции clCreateContextFromType c любым параметром возвращает CL_INVALID_PLATFORM. Я так понимаю что эмуляции на CPU у NVIDIA нет?
3. Cudatoolkit_3.1_win_32 это аналог streamsdk или там инструменты только для CUDA ?
4. Есть такой ключ в реестре:
[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors]
"nvcuda.dll"=dword:00000000
"atiocl.dll"=dword:00000000
"atiocl64.dll"=dword:00000000
для чего он нужен, что означает?
Пока вроде все. Кто что-то знает - ,буду благодарен.