问题
I've build a simple OpenCL based program (in C++) and tested in on Windows 8 system with AMD FirePro V4900 card. I was using AMD APP SDK.
When I copy my binaries to the other machine (Windows 8 with NVIDIA Quadro 4000 card) I get "The procedure entry point clReleaseDevice couldn't be located in the dynamic linked library (exe of my program)". This second machine has the latest NVIDIA drivers and CUDA 5 installed.
Any ideas on what to I need to make it work with NVIDIA hardware?
回答1:
Its an OpenCL 1.1 vs 1.2 version issue. Nvidia are STILL on OpenCL version 1.1. You have used AMD's OpenCL 1.2. To get and OpenCL app that works on both systems need to remove your clReleaseDevice API call and other 1.2 calls and recompile using the AMD SDK with the 1.1 version option.
来源:https://stackoverflow.com/questions/15305212/run-opencl-program-on-nvidia-hardware