CUDA: (八) 使用 CUDA C/C++ 加速计算的基础 (NVIDIA 课程 Part one)

这篇博客是NVIDIA付费的课程内容
在这里插入图片描述
LZ自己进行了个格式排列和一些代码的梳理,感觉还是非常有用的一个课程,有兴趣的小伙伴可以自行去学习!LZ也作为整理,毕竟课程是有一定有效期的,过了就没法使用(≧▽≦)/啦啦啦!

C/C++加速计算的基础

借助您现在掌握的技术和工具,您离准备好开始加速自己的实际应用程序近在咫尺了。本节将为您提供以下详细信息:

a. 设置自己的CUDA环境
b. 如何最好地在开发加速应用程序方面继续学习
c. 解决另外一个供练习用的问题
d. 其它有用的资源

一、设置一个拥有CUDA的环境

为您自己的工作设置CUDA环境的两种最简单的方法是:

1.通过云服务商

2.在您自己的装有NVIDIA GPU的系统上安装CUDA

1. 通过云服务商

所有主要的云服务商都提供支持NVIDIA GPU的实例。在网上简单地搜索 “NVIDIA GPU <您选择的云服务商>” 就能很容易地找到一条如何在你选择的云里配置这样一个实例的结果。这些实例都安装有CUDA工具包。您只需使用SSH进入这些实例就可以开始工作了。

2. 你自己的系统

如果您可以访问具有NVIDIA GPU但尚未安装CUDA工具包的系统,那么只需按照此处的说明在您的特定操作系统上下载和安装CUDA

二、继续开发您的加速计算的应用程序

在建立了自己的加速系统之后,一件能进一步增强您作为加速计算程序员的能力的非常好的事情就是加速您自己的应用程序。此外,

1. 努力加速您自己的应用程序

您已经学会了如何根据程序性能分析的结果以迭代的方式实现计算的不断加速,因此:

1.对您正在使用的计算密集型应用程序进行一些基准性能测量
2.对于何处可以进行加速做一些假设
3.对可能的可加速部分做一些简单直观的改变
4.再一次评估性能并重复上述过程

2. 阅读并应用CUDA C最佳实践指南介绍的技术

虽然您已能够提高原本仅在CPU上运行的应用程序的性能,但您可以把加速计算再提高一步。

CUDA C最佳实践指南是一个有效的CUDA编程的基本资源。在以您已学过的方式加速自己的应用程序之后,可以开始研究一下本文档,并应用其描述的技术以进一步提高应用程序的性能。

三、GPU加速的实践应用

到目前为止,最佳做法是加速您自己的应用程序,但对于那些可能还没有真实用例的人,请尝试加速以下Mandelbrot Set模拟器。按照惯例,请采用迭代和性能分析驱动的方法。

Mandelbrot Set Simulator:这个C ++模拟器包含一个指向应用程序详细说明的链接,可以让您直观地看到GPU加速的影响。
有用的资源
许多非常有才华的程序员使用CUDA创建高度优化的库,用于加速计算。在您自己的应用程序中有许多场景需要编写自己的CUDA代码,不过在编程中,通常还有许多场景其他人已经为您编写好代码了。

请仔细阅读GPU加速计算库,了解在何处可以使用高度优化的CUDA库执行诸如基本的线性代数求解器(BLAS)、图形分析快速傅里叶变换(FFT)、随机数生成(RNG)以及图像和信号处理等任务。

四、Environment Quick Start

This is a quick-start for users who just want to get going.

Use the nvidia AMI on AWS ( 10 minutes):
https://github.com/NVIDIA/nvidia-docker/wiki/Deploy-on-Amazon-EC2

Get started with nvidia-docker (5 minutes):
https://github.com/NVIDIA/nvidia-docker

Get started with the CUDA development image (5 minutes):
“docker pull nvidia/cuda:9.1-devel”
https://hub.docker.com/r/nvidia/cuda/

发布了307 篇原创文章 · 获赞 208 · 访问量 60万+

猜你喜欢

转载自blog.csdn.net/Felaim/article/details/104339047