Cuda Programming

CUDA编程基础 - 线程模型 内存管理 kernel编写

miuav 687a17e 770 B Updated

File contents

CUDA 编程技能

NVIDIA CUDA基础编程

何时使用

  • 编写CUDA kernel
  • 内存管理
  • 线程同步

线程模型

  • Grid: 多个Block组成
  • Block: 多个Thread组成 (max 1024)
  • Warp: 32个Thread一组

内存类型

类型 访问速度 作用域
寄存器 最快 thread
共享内存 block
全局内存 全局
常量内存 全局

示例

__global__ void add(float *a, float *b, float *c, int n) {
    int i = blockIdx.x * blockDim.x + threadIdx.x;
    if (i < n) c[i] = a[i] + b[i];
}

// 调用
add<<<(n+255)/256, 256>>>(a, b, c, n);

miuav/vibe-coding-ros2/tree/main/agents/skills/edge-platforms/nvidia-cuda/cuda-programming commit 687a17ec8f

Frequently asked questions

npx skillmds@latest add miuav/cuda-programming