Skip to content

Files

Latest commit

c12471c · Jan 12, 2015

History

History
27 lines (20 loc) · 682 Bytes

README.md

File metadata and controls

27 lines (20 loc) · 682 Bytes

CUDA Utilities

Utilities for CUDA programming

Wrap all the CUDA API calls within gpuErrchk. For example:

gpuErrchk(cudaMemcpy(d_x, x, N * sizeof(float), cudaMemcpyHostToDevice));

Use gpuErrchk to check for errors in your kernels. For example:

#ifdef DEBUG
		gpuErrchk(cudaPeekAtLastError());
		gpuErrchk(cudaDeviceSynchronize());
#endif

If DEBUG is defined, then the CUDA error check of the kernels will be executed.

Use iDivUp to find the number of blocks to be launched by a CUDA kernel. For example:

BLOCKSIZE = 256;
N = 10000;       // Number of elements to be processed
kernel<<<iDivUp(N, BLOCKSIZE), BLOCKSIZE>>>(...);