[英]Incorrect act OpenCl/C++ script on CPU and GPU
我已經將OpenCl / C ++腳本轉移到了新機器(3.20GHz @Intel®Core™i5-4570 CPU,NVIDIA TESLA C2070)上。
我在GPU上成功運行了它,並且得到了正確的結果(在此處嘗試在CPU上運行時,它給我錯誤的結果為0),然后我想在CPU上運行它,所以我安裝了英特爾驅動程序( http://wiki.tiker。 net / OpenCLHowTo )。
當我編譯它時,我遇到了這個問題:
Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!
我通過將-lglut -lGLU -lGL -lm -lpthread作為g ++的參數來解決此問題。
現在的問題是,當我放入CL_DEVICE_TYPE_CPU時會給我正確的結果,而當我放入CL_DEVICE_TYPE_GPU時會給錯誤的結果(0看起來不起作用)。
預期產量:
315360000 0.345 0.349 0.345 9
錯誤的輸出:
315360000 0 0 0 9
任何想法!!
解決了:)我根據此鏈接中的代碼進行了一些修改https://devtalk.nvidia.com/default/topic/498968/printing-all-opencl-devices-not-detecting-all-opencl-devices-under-視窗/
cl_int ret = clGetPlatformIDs(2, platforms, &ret_num_platforms);
cout << ret;
//ret = clGetDeviceIDs( platforms[0], CL_DEVICE_TYPE_CPU, 1, &device_id, &ret_num_devices); // Execute me on CPU
ret = clGetDeviceIDs( platforms[1], CL_DEVICE_TYPE_GPU, 1, &device_id, &ret_num_devices); // Execute me on GPU
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.