“CUDA”版本间的差异
来自iCenter Wiki
第8行: | 第8行: | ||
单进程多数据(single process and mutiple data, SPMD) 模型 | 单进程多数据(single process and mutiple data, SPMD) 模型 | ||
+ | |||
+ | #include <stdio.h> | ||
+ | #include <cuda.h> | ||
+ | |||
+ | __global__ void my_kernel() { | ||
+ | printf(“Hello World from GPU!\n”); | ||
+ | } | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | printf("Hello World from CPU!\n"); | ||
+ | my_kernel<<<1,1>>>(); | ||
+ | cudaDeviceSynchronize() | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | 编译输出 | ||
+ | |||
+ | $ nvcc hello_world.cu | ||
+ | $ ./a.out | ||
+ | Hello World from CPU! | ||
+ | Hello World from GPU! |
2017年4月19日 (三) 12:18的版本
CUDA(Compute Unified Device Architecture,统一计算架构)
异构平行计算系统(heterogeneous parallel computing systems)
latency devices (CPU cores)
throughput devices (GPU cores)
单进程多数据(single process and mutiple data, SPMD) 模型
#include <stdio.h> #include <cuda.h>
__global__ void my_kernel() {
printf(“Hello World from GPU!\n”);
}
int main() {
printf("Hello World from CPU!\n"); my_kernel<<<1,1>>>(); cudaDeviceSynchronize()
return 0; }
编译输出
$ nvcc hello_world.cu $ ./a.out Hello World from CPU! Hello World from GPU!