本文来源公众号“DeepDriving”,仅用于学术分享,侵权删,干货满满。
原文链接:CUDA编程-02: 初识CUDA编程
上一篇文章DeepDriving | CUDA编程-01: 搭建CUDA编程环境-优快云博客介绍了如何搭建CUDA编程环境,从这篇文章开始正式开始介绍如何使用CUDA进行编程。
1 异构计算架构
如下图所示,一个典型的异构计算架构节点由一个多核CPU
和一个或多个GPU
组成,每个CPU
和GPU
都是独立的设备,它们之间通过PCIe
总线连接。GPU
作为CPU
的协处理器用于执行一些并行计算任务。CPU
适合用于做一些逻辑控制任务,而GPU
则适合作为CPU
的协处理器用于做一些大计算量的数据并行计算任务。
heterogeneous_architecture
一般我们称CPU
为host
,称GPU
为device
,相应地,一个异构计算的应用程序代码也被分为两部分:运行在CPU
上的程序被称为host
代码,运行在GPU
上的程序被称为device
代码。
heterogeneous_architecture
2 一个Hello World
在我们学习一种新的编程语言的时候,一般都是先从打印一句"Hello World"
开始,今天开始学习CUDA
编程,按照国际惯例,也从打印"Hello World"
开始。
首先新建一个CUDA C
源文件hello_world.cu
,然后输入下面的内容:
#include <stdio.h>