CIVL Support For CUDA
Introduction
CIVL has support for a small subset of CUDA features such as
- Defining CUDA kernels with the
__global__specifier, - Enqueuing kernel calls into streams,
- Allocating, deallocating, and copying to and from device memory.
CIVL supports CUDA by automatically detecting the use of these features and translating them into CIVL-C code to be analyzed as usual.
Supported Features
- CUDA kernels with the
__global__specifier - The dim3 struct type
- Use of the CUDA variables
threadIdx,blockIdx,gridDim, andblockDim __syncthreads__shared__- Enqueuing multiple kernel calls into streams
cudaMalloccudaMemcpycudaFreecudaDeviceSynchronize
Major Limitations
Missing Features
- Use of the
warpSizevariable - Atomic functions (e.g.
atomicAdd)
Last modified
5 years ago
Last modified on 07/27/21 11:46:46
Note:
See TracWiki
for help on using the wiki.
