极智开发 | 解读英伟达软件生态 一切的视界基础CUDA
欢迎关注我的公众号 [极智视界],获取我的源码摄像源码更多经验分享
大家好,我是新视极智视界,本文来介绍一下 解读英伟达软件生态 一切的界源基础CUDA。
邀您加入我的视界知识星球「极智视界」,星球内有超多好玩的源码项目实战源码下载,链接: t.zsxq.com/0aiNxERDq
CUDA,新视全称为 Compute Unified Device Architecture,界源是视界英伟达于 年推出的一个平行计算平台和应用编程接口 API 模型。CUDA 之于英伟达的源码重要性主要体现在下面几个方面:
所以,解读英伟达软件生态,新视必须要从 CUDA 说起。虽然 CUDA 再往下还有如 PTX 的指令集加速层级,但是PTX 的普及程度其实并不高,甚至可能很多朋友都没听说过 PTX,其实也算正常,因为基本上的 N 卡开发者,根本没必要接触到 PTX,把 CUDA 学好就足够够的了。
把 CUDA 作为标杆,似乎是台服dnfgm工具源码很多 AI 芯片厂商 "共同的做法",比较有代表性的是升腾的 Ascend C、寒武纪的 Bang C,但是其实这几个之间有相似但又有不相似的地方。相似的地方在于不管是升腾还是寒武纪都想提供一套类似 CUDA 的可以充分调用自己 NPU 硬件加速的对外接口,提高客制化的灵活性。不相似的地方一方面在于我们是在学人家,很多接口其实是为了贴近 CUDA 的接口而进行的高级封装,毕竟大部分开发者其实已经形成了 CUDA 的开发习惯,这个时候让大家切换起来更加顺手的做法就是 "模仿",而要做这种程度的 "模仿" 势必要协调好硬件架构和软件接口的映射;不相似的另外一方面体现在软件生态的层次清晰度,这个拿升腾来专门说,升腾 Ascend C 的发布时间在 年 5 月 6 日,而反观英伟达 CUDA 的发布时间是 年。什么意思呢,很明显可以看到英伟达的软件生态是以 CUDA 为基础然后层层往上叠的,而升腾是先有了 CANN,先有了 MindSpore 这些 "高层建筑",然后往下才有了 Ascend C,这种软件生态的层次结构就没有那么清晰,当然这种说法也只是基于时间上的,这并不影响它在空间上还是具备不错的软件生态层次结构。
再回到 CUDA 本身,需要清楚的一点是,CUDA 其实一开始主要是java modbus tcp 源码面向优化计算密集型计算 (Compute-Bound),因为不管是最开始的通用科学计算还是后来的以 CNN 为主流的深度学习计算都是计算密集型,但是后来 Transformer 又逐渐流行,所以 CUDA 也是不断在 "与时俱进" 在做平衡、做兼顾,比如在 A 开始,CUDA 新增了从 L1 Cache 到 HBM Global Memory 数据直接异步拷贝的指令,其实也是在丰富自身对于访存密集型计算 (Memory-Bound) 的优化。
我之前写过挺多关于 CUDA 的分享,罗列一些,
CUDA 是一种硬件强相关的编程模型,要掌握好 CUDA,需要先看懂 GPU 硬件架构,从而映射到 CUDA 内存模型、线程模型上,这点跟 C 语言、跟 C++ 这类 "高级" 编程语言就很不一样,所以很多朋友会觉得 CUDA C 比较难写,特别是要写出高性能的 CUDA C,比较难。确实,这是事实,特别是对于写出高性能的 CUDA C,会涉及资源的高效调度,比如 Shared Memory、android登录验证源码L1 Cache 等的调度;会涉及适应硬件架构超参的配置,比如 Thread、Block、Grid 等的配置。
总之,对于 CUDA 的深入学习,是一门 "稳挣不亏" 的 "买卖",原因不再过多赘述,主要体现在它的重要性上。
好了,以上分享了 解读英伟达软件生态 一切的基础CUDA,希望我的分享能对你的学习有一点帮助。
公众号传送
极智开发 | ubuntu源码编译gpu版ffmpeg
欢迎访问极智视界公众号,获取更多深入的编程知识与实战经验分享。
本文将带你了解在 Ubuntu 系统中,如何进行源码编译,获得 GPU 加速版本的 FFmpeg 工具。
FFmpeg 是一款功能强大的音视频处理工具,支持多种格式的音视频文件,并提供了丰富的命令行工具和库,允许开发者在 C 语言或其他编程语言中进行音视频处理。
然而,FFmpeg 本身并不具备 GPU 加速功能。通过集成 CUDA SDK、thinkphp会员系统源码OpenCL 或 Vulkan 等第三方库,能够实现 FFmpeg 的 GPU 加速,显著提升处理速度和性能。
在本文中,我们将重点介绍如何在 Ubuntu 系统中编译 GPU 加速版本的 FFmpeg。
首先,确保已安装 nv-codec-hearers,这是 NVIDIA 提供的 SDK,用于在 GPU 上加速 FFmpeg 的操作。
接下来,安装 FFmpeg 编码库和相关依赖,完成 FFmpeg 的编译配置。
最后,运行编译命令,检查 FFmpeg 是否成功安装并验证 GPU 加速功能。
至此,GPU 加速版本的 FFmpeg 已成功编译和安装,能够为你在音视频处理任务中带来显著性能提升。
通过极智视界公众号,获得更多有关人工智能、深度学习的前沿技术与实用知识,欢迎加入知识星球,获取丰富的资源与项目源码,共同探索 AI 领域的无限可能。
如何在PC上正确播放4K HDR视频
在探讨如何在个人电脑上正确播放4K HDR视频之前,首先需要了解如何分辨一部视频是否为真正的HDR内容。通过使用Mideainfo软件并检查HEVC编码、HDR、PQ、bit、BT.等描述,可以断定视频为HDR格式,最高画面亮度需求可达nit。面对颜色淡、亮度不足的问题,正确的解决方案是使用Madvr滤镜,以确保HDR内容的正确映射。对于Windows用户,开启HDR开关后,MPV、VLC、Kodi等播放器以及使用MadVR滤镜的Potplayer、MPC-HC等工具可以正确播放HDR格式的片源。此外,VLC还支持HLG格式片源的正确播放和显示。
随着科技的进步,播放器功能的增强,MPC VR滤镜被完美解码集成,使得HDR播放体验更加流畅。如果你的PC配备了支持HDR的显示器,连接并开启HDR模式,可以充分利用显示器的高亮度和广色域特性,享受更佳的视觉体验。连接电视时,确保使用支持HDR的HDMI端口,并在设置中开启相应的增强模式。在Windows系统中,通过设置播放HDR游戏和应用,可以激活HDR模式,使用PQ感知量化曲线和BT色彩空间,以替代传统2.2伽马的sRGB模式。在Windows HD Color设置中,确保播放HDR游戏和应用以及流式传输HDR的开关打开,非HDR画面在显示器上的亮度设置可以根据显示器的HDR等级进行调整。开启Windows HDR开关后,显示设备的亮度会自动设为最大值,SDR内容则受到限制以避免过亮。
为了验证播放软件是否正在输出HDR画面内容,可以使用截图软件截图,图像高亮部分为白色即代表为HDR状态。SDR内容未经限制直接以高亮度显示可能会导致视觉不适,而HDR视频则遵循特定的亮度规则。在Windows 系统中,无需特别开启HDR开关,使用Madvr作为渲染器,全屏播放即可自动输出HDR,并激活电视的HDR状态。此外,Windows自带的“**和电视”播放器,通过购买HEVC解码器,提供了流畅的操作和媲美索尼内置播放器的画质,支持MKV的内置字幕和音轨,以及选择外挂字幕。在连接支持HDR的显示器或电视时,播放器可以完美实现包括DTS、DTS HD、TrueHD、DD+(EAC3)的源码输出,对于杜比ATOMS音轨的源码输出,可能至少正确输出了其中的TrueHD,但具体情况还需进一步验证。
对于杜比视界profile 5.0的MP4格式,即WebDL类流媒体所用的单层杜比视界片源,在Windows 下可以安装dolby vision+hdr.appxbundle插件来解决偏色问题,但只能使用**与电视播放器播放,且需要先安装HEVC解码器,开启win HDR开关后,可以得到HDR图像观感。此外,Kodi播放器现在支持HDR和4K原盘导航,搭配个人电脑(HTPC)使用,体验更加流畅。对于连接支持HDR的电视时,确保在电视端也开启HDR模式,以实现完整的HDR体验。总体而言,通过正确的设备配置和软件选择,用户可以在个人电脑上轻松播放和欣赏4K HDR视频,享受更佳的视觉效果。
极智一周 | 谈谈AI发展、训练算力、推理算力、AI编译框架、Copilot键 And so on
极智视界,为您揭示AI发展前沿与挑战。本周聚焦:AI发展、训练算力、推理算力、AI编译框架、Copilot键。
探索AI技术边界,极智视界邀您加入「极智视界」知识星球,获取独家资源与项目实战源码,链接:t.zsxq.com/0aiNxERDq。
本周热点文章一览:
(1) AI发展系列
深度剖析AI训练算力、AI推理算力与AI编译框架,结合作者多年AI实践心得,分享AI行业动态与个人思考,内容详实,助您洞悉AI技术前沿。
(2) 微软Copilot键
微软创新之举,在键盘中集成Copilot键,作者对此提出独特见解与批判性思考,探讨技术革新与用户体验的平衡。
本周精选内容,旨在提供高质量信息,内容精简,价值不减。
极智一周,愿您周末愉快!
2024-11-23 11:45
2024-11-23 11:09
2024-11-23 10:58
2024-11-23 10:26
2024-11-23 09:44