“CUDA”版本间的差异

来自iCenter Wiki
跳转至: 导航搜索
第12行: 第12行:
 
  #include <cuda.h>
 
  #include <cuda.h>
 
  __global__ void my_kernel() {  
 
  __global__ void my_kernel() {  
printf(“Hello World from GPU!\n”);
+
printf(“Hello World from GPU!\n”);
 
  }  
 
  }  
 
  int main()  
 
  int main()  
 
  {  
 
  {  
printf("Hello World from CPU!\n");  
+
printf("Hello World from CPU!\n");  
my_kernel<<<1,1>>>();   
+
my_kernel<<<1,1>>>();   
cudaDeviceSynchronize()
+
cudaDeviceSynchronize()
return 0;  
+
return 0;  
 
  }  
 
  }  
  

2017年4月19日 (三) 12:19的版本

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!