CUDA
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
肥叔菌
本博客主要用于记录学习过程中的笔记,每隔一段时间,博主将会将精华内容整合发到知乎、简书上。欢迎关注博主肥叔菌在其他平台上的账号,谢谢。
B站:https://space.bilibili.com/456254145
segmentfault:https://segmentfault.com/u/feishujun/articles
简书:https://www.jianshu.com/u/67bab078551a
展开
-
CUDA C++ Programming Guide——编程接口 CUDA Runtime Multi-Device System
Multi-Device SystemDevice Enumeration一个主机系统可以有多个设备。 下面的代码示例演示如何枚举这些设备,查询它们的属性以及确定启用CUDA的设备的数量。int deviceCount;cudaGetDeviceCount(&deviceCount);int device;for (device = 0; device < deviceCount; ++device) { cudaDeviceProp deviceProp; cud原创 2020-10-25 23:25:33 · 4828 阅读 · 0 评论 -
CUDA C++ Programming Guide——编程接口 CUDA Runtime Memory
CUDA Runtime原创 2020-10-24 08:39:14 · 5465 阅读 · 1 评论 -
CUDA C++ Programming Guide——编程接口 CUDA Runtime Asynchronous Concurrent Execution
Asynchronous Concurrent ExecutionCUDA将以下操作公开为可以彼此并发运行的独立任务:主机上的计算;设备上的计算;内存从主机传输到设备;内存从设备传输到主机;内存在给定设备的内存中传输;设备之间的内存传输。这些操作之间实现的并发级别将取决于设备的功能集和计算能力,如下所述。Concurrent Execution between Host and Device异步库函数可促进并发主机执行(Concurrent host execution is fac原创 2020-10-24 08:38:22 · 5292 阅读 · 0 评论 -
CUDA C++ Programming Guide——编程接口 Compilation with NVCC
Programming InterfaceCUDA C ++为熟悉C ++编程语言的用户提供了一条简单的路径,可以轻松编写程序以供设备执行。它由对C ++语言的最小扩展集和运行时库组成。核心语言扩展已在“编程模型”中引入。它们允许程序员将内核定义为C ++函数,并在每次调用该函数时使用一些新语法指定网格和块尺寸。有关所有扩展的完整说明,请参见C ++语言扩展。包含其中一些扩展名的任何源文件都必须使用nvcc进行编译,如使用NVCC进行编译中所述。运行时在CUDA运行时中引入。它提供了C和C ++函数,这原创 2020-10-08 13:08:42 · 5593 阅读 · 1 评论 -
CUDA C++ Programming Guide——编程模型
本章通过概述CUDA编程模型在C ++中的使用方式,介绍了其主要概念。 编程接口中给出了CUDA C ++的广泛描述。本章和下章使用的向量加法示例的完整代码可以在vectorAdd CUDA示例中找到。kernelsCUDA C ++通过允许程序员定义称为内核的C ++函数来扩展C ++,这些函数在被调用时由N个不同的CUDA线程并行执行N次,而不是像常规C ++函数那样仅执行一次。使用__global__声明说明符定义内核,并使用<<< … >>>执行配置语法指定为原创 2020-08-28 20:24:00 · 6837 阅读 · 0 评论 -
CUDA C++ Programming Guide——简介
使用GPU的好处在类似的价格和功率范围内,图形处理单元(GPU)提供的指令吞吐量和内存带宽比CPU高得多。许多应用程序利用这些更高的功能在GPU上比在CPU上运行得更快(请参阅GPU应用程序)。其他计算设备(如FPGA)也非常节能,但是编程灵活性比GPU小得多。由于GPU和CPU的设计目标不同,因此存在这种能力差异。尽管CPU被设计为擅长以最快的速度执行一系列操作,称为线程,并且可以并行执行数十个这些线程,但GPU被设计为擅长并行执行数千个线程(摊销降低单线程性能以实现更高的吞吐量)。GPU专用于高度并行原创 2020-08-27 23:11:24 · 7612 阅读 · 0 评论