📅  最后修改于: 2023-12-03 15:00:10.602000             🧑  作者: Mango
本文章主要介绍如何使用 CUDA 来编写第一个 Hello World 程序,以及相关的基础知识。
CUDA 是 NVIDIA 公司推出的一个并行计算平台和编程模型,用于支持 GPU 加速通用计算。通过 CUDA,可以让程序员比传统计算方式更快地运行代码,实现更高效的计算。
如果你还没有安装 CUDA Toolkit,请参考 安装 CUDA Toolkit 进行安装。
我们来编写一个简单的 Hello World 程序,首先需要编写一个 C 程序,然后使用 CUDA 对程序进行加速。以下是代码:
#include <stdio.h>
__global__ void helloFromGPU()
{
printf("Hello World from GPU!\n");
}
int main()
{
printf("Hello World from CPU!\n");
helloFromGPU<<<1,1>>>();
cudaDeviceSynchronize();
return 0;
}
代码非常简单,主要包含了两个部分:
helloFromGPU
函数是在 GPU 上执行的函数,会输出一条信息:Hello World from GPU!
。main
函数是程序的入口函数,会输出一条信息:Hello World from CPU!
。然后调用 helloFromGPU
函数。注意:前面有两个下划线的 __global__
是 CUDA 的一个关键字,表示该函数在 GPU 上执行。
编译程序,可以使用以下命令:
nvcc -arch=sm_XX hello.cu -o hello
其中,XX 是你的 GPU 架构版本,可以使用以下命令查找:
nvcc --help | grep gpu-arch
运行程序,可以使用以下命令:
./hello
运行结果如下:
Hello World from CPU!
Hello World from GPU!
如上,我们成功地在 CPU 和 GPU 上分别输出了一条 Hello World 的信息。
通过本文,你了解了如何使用 CUDA 来编写第一个 Hello World 程序,并完成了编写、编译和运行程序的过程。通过将部分计算任务放到 GPU 上执行,可以加速整个程序的运行。