GPU
文章平均质量分 79
泰勒朗斯
人,可以痛苦,可以失意,可以疯狂的爱,可以恣意的恨,却别忘了行程,别忘记赶路。
展开
-
too many blocks in cooperative launch at cudaLaunchCooperativeKernel
因为block dim=704,现在每个SM上已经都有704*2=1408个threads了,现在每个SM还能容纳2048-1408=640个threads,而我们的每个block是704,所以就出现too many error了。这是因为当grid dim固定为256的时候,当block dim=704的时候,每个sm上最多能放2个block,所以最多能launch108*2=216个block,其余的block加载不上去,为什么?当执行到256*704的时候失败,block 不能超过 108。原创 2024-09-04 16:11:49 · 1069 阅读 · 0 评论 -
A100 显卡关键参数
首先看top图,A100包含有108个SM,每个SM最大可以容纳1024个threads.原创 2024-08-29 17:01:06 · 340 阅读 · 1 评论 -
NVCodec 解码案例
【代码】NVCodec 解码案例。原创 2024-08-19 17:18:32 · 171 阅读 · 0 评论 -
cuda-thread-block-grid详细解释
如题,翻译过来变味了,原汁原味更加好。原创 2024-07-17 11:21:45 · 817 阅读 · 0 评论 -
CUDA系列-driver-architecture-0
为什么要费这么大劲把这些整理出来呢?CUDA Driver SW ArchitectureIn a nutshell, the CUDA Driver manages GPU resources and schedules computing tasks on the GPU.The driver provides user APIs to allocate memory on the GPU, to copy data into, out of, and between the allocated mem原创 2024-06-19 18:18:12 · 1058 阅读 · 0 评论 -
CUDA系列-Mem-9
你可能觉得奇怪,这些不是cuda programming model中的内容啊,其实这是cuda runtimes ,还记得那份泄漏出来的代码吗?This section describes static aspects of the CUSW_UNIT_MEM_MANAGER unit’s architecture.The CUSW_UNIT_MEM_MANAGER provides abstractions for allocating memory by other units of CUDA dr原创 2024-06-19 17:59:03 · 1058 阅读 · 0 评论 -
CUDA系列-Event-9
**//!//!//!/**//!/**//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!//!} capture;} local;//!//!//!??//!//!//!//!} local;//!//!//!} egl;//!//!//!} nvn;/**//!//!//!/**//!/**//!//!//!//!//!//!//!//!//!原创 2024-06-19 17:36:37 · 898 阅读 · 0 评论 -
CUDA系列-Kernel Launch-8
本章主要追踪一下kernel launch的流程,会不断完善。原创 2024-06-19 16:34:13 · 1039 阅读 · 0 评论 -
CUDA系列-Channel-7
32641。原创 2024-06-19 16:25:35 · 120 阅读 · 0 评论 -
CUDA系列-pushbuffer-6
这是一个环形队列。原创 2024-06-19 14:37:59 · 161 阅读 · 0 评论 -
CUDA系列-GPFIFO-5
gpfifo是一个基础组件,channel中的FIFO基础,channel就是通过它来作为CPU和GPU之间的通道以及marker的容器。原创 2024-06-19 14:15:06 · 614 阅读 · 0 评论 -
CUDA系列-Marker-4
The CUSW_UNIT_SYNC unit provides mechanisms to track work completion on GPU, CPU, and other Tegra engines (such as ISP, VIC, PVA, DLA). GPUs use several hardware synchronization primitives for task tracking and synchronization, which are abstracted away in原创 2024-06-19 11:53:25 · 152 阅读 · 0 评论 -
CUDA系列-Semaphore-3
*** @{//!/**//!/**//!//!/**//!//!//!/**//!/**//!//!/**//!//!//!4/*** @{//!/**//!/**//!//!/**//!//!//!/*** @{//!/**//!/**//!//!/**//!//!//!/*** @{//!/**//!/**//!//原创 2024-06-19 11:44:19 · 119 阅读 · 0 评论 -
CUDA系列-QMD-2
QMD是CUDA 用来追踪kernel launch的,主要有两部分组成QMD和QMDPOOL。原创 2024-06-19 11:18:23 · 150 阅读 · 0 评论 -
CUDA系列-Stream-1
This section describes static aspects of the CUSW_UNIT_STREAM unit’s architecture.和stream相关的其它Unit主要有Channel,Sync,MemmgrA CUDA stream is a software FIFO queue that allows commands like kernel launch and memcpy to be enqueued in it. The enqueued commands原创 2024-06-19 11:08:15 · 306 阅读 · 0 评论 -
CUDA入门系列课程,从最基础着手
CUDA入门系列课程,从最基础着手,突出的就是一个字“细”!!github项目包含代码、博客、课件pdf下载地址:https://github.com/sangyc10/CUDA-code!原创 2024-04-24 20:39:05 · 362 阅读 · 0 评论 -
Linux下GPU虚拟化
首先, mediated 设备框架(mdev),基本上,这部分代码使得内核驱动开始用vfio框架跟接口来支持虚拟pci设备。nvidia 以及intel都采用了这种所谓的mdev机制,将宿主机中的物理GPU分割成多个虚拟设备,以便供多个虚拟机同时使用。第二个, intel 的i915驱动也是采用了mdev初始化支持,当然仍然有很多工作需要去做,例如不能直接登录虚拟机的显示画面,所以必须通过客户机中安装x11vnc或者类似的vnc工具,也有一些稳定性的问题需要解决。在新Linux内核中体验GPU虚拟化。原创 2024-04-19 17:07:14 · 376 阅读 · 0 评论 -
CModel 设计资料收集
C-Model以及ASIC设计。原创 2023-12-09 00:29:35 · 400 阅读 · 0 评论 -
浅谈GPGPU任务调度-1
转自 GPU and Computing 公众号在先前的文章中《近距离看GPU计算(2)》我们介绍了GPU SM单元以Thread Block为单位的调度方法,这些的Block属于同一个kernel任务,当然处于相同的进程上下文(CUDA Context),针对的是任务内线程级别并行执行。我们知道现代GPU计算能力与日俱增,不断挑战新高。随之而来的问题是,单凭一个Kernel任务很能占满GPU,来自相同进程,甚至不同的进程的任务在时间上、空间上如何共享GPU,又是如何调度的呢?原创 2023-09-21 16:34:14 · 597 阅读 · 0 评论 -
近距离看GPU计算-2
本文转自公众号 GPU and Computing在《近距离看GPU计算》系列第一篇里我们介绍了GPU的一些基础知识及其如何从图形加速设备演化到通用计算平台。本文我们会具体从处理单元设计和存储层次结构两个方面探讨GPU不同于CPU的特点,再次确认我们反复申明的GPU更重视整体的Throughput而CPU更在乎具体任务的Latency。CPU和GPU从一开始就是为不同的目标而设计,CPU虽然也可以同时执行多个线程,但其旨在高效地处理串行指令,通过许多复杂技术优化提高指令级并行以便可以尽快执行串行程序。原创 2023-09-21 16:21:58 · 201 阅读 · 0 评论 -
近距离看GPU计算-1
转自 GPU and Computing 公众号在前面文章中,我们交代了计算平台相关的一些基本概念以及为什么以GPU为代表的专门计算平台能够取代CPU成为大规模并行计算的主要力量。在接下来的文章中,我们会近距离从软硬件协同角度讨论GPU计算如何开展。跟先前的文章类似,笔者会采用自上而下,从抽象到具体的方式来论述。希望读者不只是对GPU计算能有所理解,而且能够从中了解可以迁移到其它计算平台的知识,此是笔者之愿景,能否实现一二,还恳请各位看官不断反馈指正,欢迎大家在后台留言交流。原创 2023-09-21 16:06:39 · 416 阅读 · 0 评论