OpenCL异构并行编程实战-src
所属分类:超算/并行计算
开发工具:C/C++
文件大小:2552KB
下载次数:8
上传日期:2020-06-02 17:29:55
上 传 者:
得到123321
说明: opencl代码,具有参考意义,可以看看。。。对我帮助大
(OpenCL code, with reference significance)
文件列表:
OpenCL异构并行编程实战-src (0, 2019-09-06)
OpenCL异构并行编程实战-src\cmake (0, 2019-09-06)
OpenCL异构并行编程实战-src\cmake\FindOpenCL.cmake (3611, 2013-04-14)
OpenCL异构并行编程实战-src\cmake\FindSSE.cmake (1929, 2013-02-15)
OpenCL异构并行编程实战-src\src (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch1 (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch10 (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\CMakeLists.txt (864, 2013-05-15)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\cmake_install.cmake (1006, 2013-05-17)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\Makefile (5821, 2013-05-17)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\RadixSort.c (19659, 2013-05-27)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\RadixSort.cl (6035, 2013-05-27)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\radixsort_config.h (36, 2013-05-17)
OpenCL异构并行编程实战-src\src\Ch10\RadixSort_GPU\radixsort_config.h.in (46, 2013-05-06)
OpenCL异构并行编程实战-src\src\Ch10\Reduction (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch10\Reduction\CMakeLists.txt (709, 2013-07-01)
OpenCL异构并行编程实战-src\src\Ch10\Reduction\reduction.c (10336, 2013-07-01)
OpenCL异构并行编程实战-src\src\Ch10\Reduction\reduction.cl (4697, 2013-07-01)
OpenCL异构并行编程实战-src\src\Ch10\Reduction\reduction_serial.cpp (520, 2013-07-01)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\a.out (9772, 2013-06-08)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\build_opencl_program (10044, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\build_opencl_program.c (4527, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\CMakeLists.txt (813, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\cmake_install.cmake (1012, 2013-05-02)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\Makefile (6239, 2013-05-02)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\simple.cl (144, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\build_opencl_program\simple_2.cl (146, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\context_query (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch1\context_query\CMakeLists.txt (642, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\context_query\cmake_install.cmake (1005, 2013-05-02)
OpenCL异构并行编程实战-src\src\Ch1\context_query\context_details (9700, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\context_query\context_details.c (4029, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\context_query\Makefile (5947, 2013-05-02)
OpenCL异构并行编程实战-src\src\Ch1\device_details (0, 2019-09-06)
OpenCL异构并行编程实战-src\src\Ch1\device_details\CMakeLists.txt (639, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\device_details\cmake_install.cmake (1006, 2013-05-02)
OpenCL异构并行编程实战-src\src\Ch1\device_details\device_details (13808, 2013-04-01)
OpenCL异构并行编程实战-src\src\Ch1\device_details\device_details.c (9935, 2013-06-03)
... ...
CL_BUILD_PROGRAM_FAILURE error when using double precision floating point computations
Posted on 2012/10/19 by Guillaume Poirier
Q:
When I execute my CAPS Compiler application, with the OpenCL backend, I get a runtime log like the following:
ERROR: clBuildProgram() failed: CL_BUILD_PROGRAM_FAILURE (-11)
ERROR: OCL Build log :
"/tmp/mtest_mMYTFP.halt.f90", line 14: error: identifier "double" is undefined
A:
You application uses double precision computations, which means that the OpenCL extension cl_khr_fp*** has to be used. It turns out that this extension is not supported by all AMD GPUs. This is why the OpenCL program does not compile.
You can check which extensions are supported by your card with the clinfo program, located in $AMDAPPSDKROOT/bin/x86_***/clinfo
Fortunately, most AMD cards supports the extension cl_amd_fp***, which is AMD-specific, and allows most of times to perform floating point, double precision computations on AMD cards, like cl_khr_fp***.
AMDs OpencCL SDK allows to use the cl_amd_fp*** extension in lieu of cl_khr_fp*** if you define the environment variable CL_KHR_FP*** to 1. This will allow your application to run.
example:
export CL_KHR_FP***=1
Posted in OpenCL, Runtime
===============================================================================================
tayboonl@ubuntu:~/PACKT_OpenCL_Book/src/Ch8/spmv$ ./SpMV
#if defined(cl_khr_fp***)
# pragma OPENCL EXTENSION cl_khr_fp***: enable
#elif defined(cl_amd_fp***)
# pragma OPENCL EXTENSION cl_amd_fp***: enable
#endif
typedef double real;
kernel void gather_vals_to_send(
ulong n,
global const real *vals,
global const ulong *cols_to_send,
global real *vals_to_send
)
{
size_t i = get_global_id(0);
if (i < n) vals_to_send[i] = vals[cols_to_send[i]];
}
"/tmp/OCLLUdZc8.cl", line 6: error: identifier "double" is undefined
typedef double real;
^
1 error detected in the compilation of "/tmp/OCLLUdZc8.cl".
Internal error: clc compiler invocation failed.
terminate called after throwing an instance of 'cl::Error'
what(): clBuildProgram
Aborted (core dumped)
=========================================================================
You need to find a GPU device that supports double precision as
VexCL does not have support for double-precision.
近期下载者:
相关文件:
收藏者: