![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GPU
文章平均质量分 78
papaofdoudou
我的藏经阁
展开
-
解析CUDA FATBIN格式
它们分别是.nv_fatbin,__nv_module_id和.nvFatBinSegment三个段.进一步分析,.nv_fatbin和__nv_module_id属性是READONLY,而.nvFatBinSegment则是DATA,说明运行时.nv_fatbin和__nv_module_id为只读,而.nvFatBinSegment支持读写,说明CUDA的代码保存在nv_fatbin中,而nvFatBinSegment则放在数据段。原创 2024-03-30 20:31:16 · 1173 阅读 · 0 评论 -
AMDGPU KFD Test 编译使用
是一个用于在ROCm软件堆栈中提供设备无关性的层。它是ROCm的一部分,允许不同的硬件平台(如AMD GPU和Intel CPU)使用相同的API进行计算。要安装现在可以开始构建和安装这将在目录下安装。可以看到编译出来了kfdtest程序。原创 2024-03-03 20:39:02 · 398 阅读 · 0 评论 -
AMD KFD驱动分析
1./dev/kfd管理一组设备而并非单个设备,如果有多个HSA节点,则open kfd的上下文将会创建一个process,并为这个server上的所有可用的HSA节点分别创建上下文。2.如果/dev/kfd管理多个设备,那么驱动如何确定当前系统调用下来要访问那个HSA设备呢?方法是用户会在系统调用的参数中传入要操作的gpu_id.3.既然如此,进行系统调用前用户应用必须首先知道有那些GPU_ID,那么应用是如何知道的呢?原创 2024-03-03 12:50:04 · 542 阅读 · 0 评论 -
基于AMDGPU-ROCm的深度学习环境搭建
在风起云涌的AI江湖,NVIDIA凭借其CUDA生态和优秀的硬件大杀四方,立下赫赫战功,而另一家公司AMD也不甘示弱,带着他的生态解决方案ROCm开始了与不世出的NVIDA的正面硬钢,"ROCm is the answer to CUDA", AMD官网如是说。ROCm全称是Radeon Open Compute,从功能上,它是AMD提供的一套用于支持异构计算和GPU加速计算的开发工具和平台。原创 2024-02-24 08:42:15 · 2184 阅读 · 1 评论 -
AMD GPU 内核驱动分析(三)-gpu scheduler ring fence同步工作模型
在Linux Kernel 的AMDGPU驱动实现中,dma-fence扮演着重要角色,AMDGPU的Render/解码操作可能涉及到多个方面同时引用buffer的情况,以渲染/视频解码场景为例,应用将渲染/解码命令写入和GPU共享的BUFFER之后,需要将任务提交给GPU的运行队列等待执行,这个时候,应用不仅要监听buffer中任务的执行情况,还要保证在任务执行完毕之前,不能再去修改BUFFER中的数据。而AMDGPU也需要排它性地执行BUFFER命令。原创 2023-10-03 15:17:59 · 1367 阅读 · 0 评论 -
OpenGL Mesa库在ubuntu22.04上的编译
安装后,不需要重新启动系统,glxinfo|grep OpenGL将会发现系统的MESA驱动已经被更换。重启后使用的仍然是新编译的MESA驱动。原创 2023-09-19 23:04:47 · 539 阅读 · 0 评论 -
AMD GPU 内核驱动分析(二)-video-ring的调度
sched_main.c接口定义u32 point);原创 2023-09-17 21:28:15 · 1188 阅读 · 0 评论 -
AMD GPU 内核驱动分析(一)总览
和CPU相比,GPU中包含了大量的并行计算单元,适合处理像素,矩阵,坐标等大量同类型的数据,因此,很多LINUX上的应用程序为了能够利用GPU的加速功能,都试图和GPU直接打交道,因此,系统中可能有多个组件或者程序同时使用GPU,比如桌面系统中OpenGL的实现MESA。原创 2023-09-11 22:50:37 · 3458 阅读 · 0 评论 -
计算机图形学-3D图像基础
自然数和整数研究称为离散数学,而对实数的研究则称为连续数学,实数是一种精致的虚构,它是一种无害的妄想,就连宇宙都不是连续的,宇宙不仅是离散的,而且还是有限的。某种程度上,可能存在一种远超人类的外星文明,它们没有连续数学,微积分,也没有无限的概念。计算机世界不就是这样一个世界么?如果它看起来正确,那就是对的。原创 2023-06-11 21:34:52 · 493 阅读 · 0 评论 -
并行计算范式-SIMD vs SIMT vs SMT: What’s the Difference Between Parallel Processing Models?
PS:下图展示的是一个计算片段分别在标量计算单元和向量计算单元上不同的编程方法:转载 2022-12-10 18:03:18 · 554 阅读 · 0 评论 -
AMD HSA 异构计算架构和AMD-KFD内核驱动&NVIDIA内核驱动
AMD好像全部都开源了,听在AMD工作过的朋友讲,AMD为了开源,几乎将整个KMD代码全部重写,从这个角度看,AMD的开源热情甩NVIDIA几条街。原创 2022-11-12 11:35:19 · 1195 阅读 · 1 评论 -
RTT对MALI GPU的支持思路
熊大的RTT-SMART是除了Linux内核之外,唯一一个覆盖从小型嵌入式平台到到中高端终端SOC品类的操作系统,其中对GPU,图形系统和OPENGL的支持可谓是比较典型,简单搜集了一些这方面的实现资料,纪录如下。RTT-SMART支持原生的ARM-MALI GPU DDK,MALI-GPU是业内首屈一指的图形IP,看看它的对手有多强就知道了,比如高通的Adreno GPU, IMG的PoverVR, 苹果GPU等,都是业内的顶级产品。原创 2022-09-04 10:39:15 · 963 阅读 · 0 评论 -
GPGPU&&渲染GPU的工作原理和认知总结
从系统架构来看,针对GPU的架构转型还在进行过程中,目前GPU依然还处于外设的地位,还没有摆脱其从属身份,因为这个根本特性,对GPU的编程并不像对CPU编程那样直接,而调试和优化GPU程序的难度就很大了,要比CPU程序复杂很多。原创 2022-08-29 23:41:09 · 1647 阅读 · 0 评论 -
LINUX异常栈初始化
无原创 2022-08-20 20:05:57 · 176 阅读 · 0 评论 -
互联网加密的技术和逻辑的一些总结
MAC层加密:MBEDTLS的工作原理,位于传输层和应用层之间类比NEWLIB的实现,应用层面加密逻辑完成后,交付平台相关的输出接口完成输出,对LWIP来讲,就是lwip_read/lwip_write。原创 2022-08-20 19:52:52 · 204 阅读 · 0 评论 -
GPU池化和虚拟化
GPU池化和虚拟化属于计算机体系结构的技术领域,它的本质是进行异构算力的解耦和共享。痛点分析:1.之前的做法,如果有一张卡,哪怕只用了1%的计算能力,剩下的99%也无法被利用了,所以算力有耦合不可分。2.虽然任何一张独立的卡无法满足需求,但是多张卡的算例总和是可以达到算力要求的。随着人工智能的发展,其对算例的需求呈现指数级增长,自从2012年以来,全球算力需求增长超过30万倍,以GPU为代表的人工智能芯片是支撑算力的核心部件。原创 2022-08-20 00:02:45 · 3270 阅读 · 0 评论