The OpenCL Programming Book: parallel Programming for MultiCore CPU and GPUFixstars |
Contents
Foreword | 4 |
Introduction to Parallelization | 10 |
OpenCL | 31 |
OpenCL Setup | 41 |
Basic OpenCL | 59 |
Advanced OpenCL | 98 |
Case Study | 164 |
Notes | 245 |
Common terms and phrases
_kernel void _local &device_id &ret &ret_num_devices &ret_num_platforms add_value algorithm buffer butterfly operation cache cl_context context CL_DEVICE_TYPE_DEFAULT cl_kernel cl_mem CL_MEM_READ_WRITE CL_TRUE cl_uint clCreateBuffer(context clCreateCommandQueue(context clCreateKernel(program clCreateProgramWithSource(context clEnqueueTask(command_queue clSetKernelArg(kernel clSetKernelArg(kernel_mt compiler compute units const char const size_t cores CUDA data parallel data_num define device example executed fclose(fp Figure FIXSTARS float FOXC function get_global_id(0 GPGPU hardware hello.c host code host-side image object include stdio.h input data int gid kernel kernel code kernel program kernel_code_size kernel_src_str Linux MEM_SIZE memory object memory types Mersenne Twister moving average MT parameters mt_struct mts multi-core multiple name_num NULL num_generator num_rand Number of random NVIDIA NVIDIA GPU OpenCL OpenCL kernel OpenCL runtime OpenMP parallel processing parallel programming performed point_num processors random numbers Set Kernel Arguments shown in List SIMD size_t sizeof(cl_mem sizeof(float sizeof(int source code task parallel threads uchar uint unsigned int vector wlid work-group work-item Xcode



