CUDA从入门到实践
文章平均质量分 89
该专栏是一个完整的且适合CUDA学习和爱好者的专栏。通过该专栏的学习,你可以对CUDA高性能编程有一个初步的认识
布林组-?
这个作者很懒,什么都没留下…
展开
-
CUDA动态场景的光线追踪+OPENGL实现
角度1:角度2:角度3:可以发现整个物体呈顺时针旋转,启动程序后不停运转;原创 2023-12-06 17:03:00 · 428 阅读 · 0 评论 -
第 12章 CUDA使用统一内存编程
统一内存是一种逻辑上的概念,它既不是显存也不是主机上的内存,而是一种系统中的任何处理器(CPU和GPU都可以访问,并能保证一致性的虚拟存储器)。这种虚拟存储器是通过GPU和CPU各自内部集成的内存管理单元实现的,在某种程度上,可以将一个系统中的某个处理器的内存看成整个统一内存的超级大缓存。统一内存编程从开普勒架构起就受到支持,但开普勒架构和麦克斯韦架构的GPU提供的统一内存编程功能相对较弱。原创 2023-08-16 23:05:10 · 353 阅读 · 1 评论 -
第13章 分子动力学模拟的CUDA程序的开发
在前面的章节中,已经用一些简短的程序较为系统的介绍了CUDA编程的基础知识。为了能改有更加深入地讨论CUDA程序的优化策略,将讨论一个出具规模的CUDA程序的开发与优化。该程序可实现一个简单地分子动力学模拟。分子动力学模拟的算法涉及本科水平的物理学(经典力学和经典统计力学)。原创 2023-08-21 15:30:10 · 311 阅读 · 1 评论 -
第三章 简单CUDA程序的基本框架
核函数可以调用不带执行配置的自定义函数,这种自定义函数称为设备函数(device function).其是在设备中被调用的。与之相比核函数是在设备中执行,但在主机端被调用。原创 2023-07-30 20:29:49 · 82 阅读 · 0 评论 -
第四章 CUDA程序的错误检测
cuda原创 2023-07-31 15:09:11 · 330 阅读 · 1 评论 -
第10章 线程束基本函数与协作组
在最近的几个CUDA版本中引入或更新了不少线程束内的基本函数,包括线程束表决(warp vote functions)函数、线程束匹配函数(warp match functions)、线程束洗牌函数(warp shuffle functions)及线程束矩阵函数(warp matrix functions)。其中,线程束匹配函数和线程束矩阵函数都只能在伏特或跟高的架构中使用。我们这里仅介绍线程束表决函数和线程束洗牌函数。这两类函数都是从开普勒架构中就开始用的,但在CUDA9中进行了更新。原创 2023-08-09 14:44:53 · 159 阅读 · 0 评论 -
第五章 CUDA获得GPU加速的关键
通过本节的力磁,可以看到,一个CUDA能获取到高性能条件有以下即几点:(1)数据传输比例较小。(2)核函数的算术强度较高。(3)核函数中定义的线程数较多.所以在编写与优化CUDA程序时,一定要想方设法的(主要指仔细设计算法)并做到以下几点:(1)减小主机与设备之间的数据传输。(2)提高核函数的计算强度。(3)增大核函数的并行规模。原创 2023-08-02 16:23:59 · 299 阅读 · 0 评论 -
第11章 CUDA流
一个CUDA流指的是由主机发出的在一个设备中执行的CUDA操作(即和CUDA有关的操作,如主机-设备数据和核函数执行)序列。除主机端发出的流外,还有设备端发出的流,本章不考虑后者。一个CUDA流中的各个操作的次序是由主机控制的,按照主机发布的次序执行。然而,来自于两个不同CUDA流中的操作不一定按照某个次序执行,而有可能并发或交错的执行。原创 2023-08-16 15:15:52 · 87 阅读 · 1 评论 -
第九章 CUDA原子函数的合理使用
本章介绍一类实施原子的函数,简称原子函数。这里的原子与物理学中的原子没有直接关系,但是在概念上有相同之处。从化学的角度上讲,原子是化学物质的基本组成部分,被认为是不可分的。类似的,在CUDA中,一个线程的原子操作可以在不受其他线程的任何操作的影响下完成对某个数据的一套“读-改-写”操作。该套操作也可是说是不可分的。原创 2023-08-07 14:31:33 · 153 阅读 · 1 评论 -
第六章 CUDA的内存组织
cuda原创 2023-08-03 13:46:42 · 91 阅读 · 0 评论 -
第二章 CUDA中的线程组织
CUDA教程第二章原创 2023-07-29 17:01:20 · 108 阅读 · 1 评论 -
第八章 CUDA共享内存的合理使用
CUDA共享内存原创 2023-08-04 19:06:58 · 309 阅读 · 1 评论 -
第七章 CUDA全局内存的合理使用
在第六章中,抽象地介绍了CUDA中的各种内存,从本章开始,将通过实例讲解各种内存的合理使用。在各种设备内存中,全局内存具有最低的访问速度(最高的延迟),往往作为一个CUDA程序的门槛,所以值得特别的关注。本章讨论全局内存的合理使用。原创 2023-08-03 18:34:50 · 74 阅读 · 0 评论