currybab's blog

pmpp lecture 02 데이터 병렬 프로그래밍 정리

source: Lecture 02 - Data Parallel Programming

parallelism의 종류

GPU가 있는 system의 구조

CPU (host) main memory (host memory)

GPU (device) GPU memory (global memory)

CUDA Memory Management API

  cudaError_t cudaMalloc(void **devPtr, size_t size);
  cudaError_t cudaFree(void *devPtr);
  cudaError_t cudaMemcpy(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind)

Grid, block, thread (2단계 구조)

  vecadd_kernel<<< numBlocks, threadsPerBlock >>>();

Grid Dimension

컴파일

어떤 코드가 GPU로 가고 CPU로 가는가

비동기 커널 호출

에러 체크

#blog #cuda #gpu #pmpp