栏目分类

你的位置:武汉软件开发 > 软件开发价格 > 软件开发公司 突破CUDA包围圈, 再出一招

软件开发公司 突破CUDA包围圈, 再出一招

发布日期:2024-08-16 13:45    点击次数:140

外媒HPCwire之前曾经直言软件开发公司,GenAI和GPU与Nvidia的合营并非无意。Nvidia一直意识到需要器用和应用标准来匡助其阛阓增长。他们为Nvidia硬件创建了止境低的取得软件器用(举例CUDA)和优化库(举例cuDNN)的门槛。

照实,Nvidia被称为一家硬件公司。但正如Nvidia应用深度学习磋议副总裁BryanCatanzaro所说,“好多东谈主不知谈这少量,但Nvidia的软件工程师比硬件工程师还多。”Nvidia围绕其硬件树立了坚忍的软件“护城河”。

5月31日一早,大奖得主何先生(化姓)在家人陪同下,来到中山福彩中心办理兑奖手续。据何先生介绍,他是中山本地人,今年三十多岁, 偶尔会在闲暇时光投注双色球和刮刮乐等福彩游戏,体验购彩乐趣,支持公益事业。

组选类型判断:最近5期排列三开出2次组六号码,本期重点关注组六号码出现。

天然CUDA不是开源的,但它是免费提供的,何况由Nvidia紧紧收场。天然这种情况让Nvidia受益(理所天然。他们在CUDA上插足了时候和财富),但关于那些但愿通过替代硬件霸占部分HPC和GenAI阛阓的公司和用户来说,这带来了贫苦。

app开发

不外,最近又有一个决策撺拳拢袖。

SCALE,横空出世

如Phoronix所说,为了突破CUDA护城河,当今曾经有多样悉力,比如HIPIFY匡助将CUDA源代码调理为适用于AMDGPU的可移植C++代码,然后是之前由AMD资助的ZLUDA,允许CUDA二进制文献通过CUDA库的平直替换在AMDGPU上开动。

但当今又出现了一个新的竞争者:SCALE。SCALE现已行为GPGPU器用链公开,允许CUDA标准在AMD图形处理器上腹地开动。

据先容,SCALE由英国公司SpectralCompute历时七年打造。SCALE是CUDA的“洁净室”(cleanroom)完结,它应用一些开源LLVM组件,同期造成一种处治决策,无需修改即可腹地编译适用于AMDGPU的CUDA源代码。

与其他仅通过调理为另一种“可移植”话语或涉止境他手动开荒东谈主员设施来匡助代码调理的表情比较,这是一个强大的上风。

SCALE不错按原样使用CUDA标准,以致不错处理依赖于NVPTX汇编的CUDA标准。SCALE编译器亦然NVIDIAnvcc编译器的替代品,何况具有“模拟”(impersonates)NVIDIACUDA器用包的开动时。

SCALE已得胜通过Blender、Llama-cpp、XGboost、FAISS、GOMC、STDGPU、Hashcat以致NVIDIAThrust等软件的测试。SpectralCompute一直在RDNA2和RDNA3GPU上测试SCALE,并在RDNA1上进行基本测试,而Vega维持仍在进行中。

从本色上讲,SCALE是一个兼容nvcc的编译器,它不错编译AMDGPU的CUDA代码、AMDGPU的CUDA开动时和驱动标准API的完结,以及开源包装器库,后者又与AMD的ROCm库交互。

举例,天然ZLUDA是由AMD暗暗资助的,但SpectralCompute暗意,他们自2017年以来一纵贯过其究诘业务资助这一开荒。SCALE惟一平直的瑕疵是它自身不是开源软件,但至少有一个可供用户使用的免费版块许可证。

据官方的文献先容,SCALE是一个GPGPU编程器用包,允许CUDA应用标准为AMDGPU进行腹地编译。SCALE不需要修改CUDA标准或其构建系统,而对更多GPU供应商和CUDAAPI的维持正在开荒中。

从组成上看,SCALE包括:

1.一个nvcc兼容编译器,概况为AMDGPU编译nvcc-dialectCUDA,包括PTXasm。

2.针对AMDGPU的CUDA开动时和驱动标准API的完结。

3.开源包装器库(wrapperlibraries)通过交付给相应的ROCm库来提供“CUDA-X”API。这便是和等库的cuBLAS处理cuSOLVER阵势。

与其他处治决策不同的是,SCALE并不提供编写GPGPU软件的新方法,而是允许使用广受宽待的CUDA话语编写的标准平直为AMDGPU进行编译。同期,SCALE旨在与NVIDIACUDA王人备兼容,因为他们以为用户不消治愈多个代码库或葬送性能来维持多个GPU供应商。

终末,开荒方暗意,SCALE的话语是NVIDIACUDA的超集,它提供了一些可选的话语推广,不错让那些但愿开脱的用户更粗造、更高效地编写GPU代码nvcc。

追思而言,与其他跨平台GPGPU处治决策比较,SCALE有几个关节调动:

1.SCALE采选原样(as-is)的CUDA标准。无需将它们移植到其他话语。即使您的标准使用内联PTX亦然如斯asm。

2.SCALE编译器采选与相易的大叫行选项和CUDA方言nvcc,可行为替代品。

3.“模拟”NVIDIACUDA器用包的安设,因此现存的构建器用和剧本就不错cmake普通职责。

具体到硬件维持方面,在特定硬件维持方面,以下GPU当今会得到维持和测试:

AMDGFX1030(Navi21、RDNA2.0)

AMDGFX1100(Navi31、RDNA3.0)

以下GPU诡计已流程临时手动测试何况“似乎有用”:

AMDGFX1010

AMDGFX1101

SpectralCompute正在悉力于维持AMDgfx900(Vega10、GCN5.0),何况可能会针对其他GPGPU。

天然,如前所说,他们会维持更多的GPU。

突破CUDA,武汉软件开发AMD和Intel的作念法

行为GPU的另一个伏击玩家,AMD也正在通过多样千般的成见稀薄CUDA护城河。

在HPCwire看来,替换Nvidia硬件意味着其他供应商的GPU和加快器必须维持CUDA能力开动许多模子和器用。AMD也已通过HIPCUDA调理器用完结了这少量。据了解,这是一种C++开动时API和内核话语,可让路发东谈主员从单一源代码为AMD和NVIDIAGPU创建可移植的应用标准。需要强调一下的是,HIP不是CUDA,它原生基于AMDROCm,即AMD的NvidiaCUDA等效居品。

AMD还提供了开源HIPIFY调理器用。HIPIFY不错取得CUDA源代码并将其调理为AMDHIP,然后不错在AMDGPU硬件上开动。天然,这雷同是其ROCm堆栈的一部分。

AMD同期还和第三方开荒者共同合营,推出了ZLUDA表情,从而让AMD的GPU也不错在英伟达CUDA应用上开动。ZLUDA在AMDGPU上开动未经修改的二进制CUDA应用标准,性能接近原生。ZLUDA被以为是alpha质料,已证据同与多样原生CUDA应用标准(举例LAMMPS、NAMD、OpenFOAM等)配合使用。直到最近,AMD还暗暗资助了ZLUDA,但扶植曾经收场。该表情仍在不时,因为最近有东谈主提交了代码库。

来到英特尔方面,他们也作念了好多尝试。

在2023年9月的一个演讲中,英特尔首席时刻官GregLavender建议,咱们应该构建一个大型话语模子(LLM),将其调理为不错在其他AI加快器上开动的东西——比如它我方的Gaudi2或GPUMax硬件。“我向所有开荒东谈主员淡薄一个挑战。让咱们使用LLM和Copilot等时刻来查验机器学习模子,将所有CUDA代码调理为SYCL”,GregLavender说。

据先容,SYCL在异构框架中跨CPU、GPU、FPGA和AI加快器提供一致的编程话语,其中每个架构都不错单独或沿途使用进行编程和使用。SYCL中的话语和API推广维持不同的开荒用例,包括开荒新的卸载加快或异构诡计应用标准、将现存的C或C++代码调理为与SYCL兼容的代码,以及从其他加快器话语或框架搬动。

具体而言,SYCL(或者更具体地说是SYCLomatic)是一个免版税的跨架构空洞层,为英特尔的并行C++编程话语提供维持。

简而言之,SYCL处理了大部分重荷的职责(据称高达95%),行将CUDA代码移植到不错在非Nvidia加快器上开动的姿首。但正如您所预思的那样,常常需要进行一些微长入调整能力让应用标准全速开动。

“淌若你思要充分应用英特尔GPU(而不是AMDGPU或NvidiaGPU),那么你就必须选拔一些轨范,不管是通过SYCL的推广机制,如故简便地构建代码,”英特尔软件居品和生态系统副总裁JoeCurley说明谈。

与此同期,由英特尔、谷歌、Arm、高通、三星和其他科技公司组成的一个团体正在开荒一款开源软件套件,以防患东谈主工智能开荒东谈主员被Nvidia的专有时刻所料理,从而使他们的代码不错在职何机器和任何芯片上开动。

这个名为“归并加快基金会”(UXL:UnifiedAccelerationFoundation)的组织告诉路透社,该表情的时刻细节应该会在本年下半年达到“训诲”景况,但最终发布诡计尚未细目。该表情现时包括英特尔开荒的OneAPI盛开圭臬,旨在排斥对特定编码话语、代码库和其他器用的条件,幸免开荒东谈主员必须使用特定架构,举例Nvidia的CUDA平台。(具体不错参考之前的著作《冲破CUDA霸权》。)

然则,这似乎还不够,更多厂商也在活动。

还有更多决策

如全球所知,在HPC边界,维持CUDA的应用标准总揽着GPU加快的全国。使用GPU和CUDA时,移植代码常常不错完结5-6倍的加快。(老成:并非所有代码都能完结这种加快,有些代码可能无法使用GPU硬件)

关系词,在GenAI中,情况却大不相易。

当先,TensorFlow是使用GPU创建AI应用标准的首选器用。它既适用于CPU,也可通过GPU的CUDA加快。这种情况正在速即改变。TensorFlow的替代品是PyTorch,这是一个用于开荒和查验基于神经集会的深度学习模子的开源机器学习库。Facebook的AI磋议小组主要开荒它。

AssemblyAI的开荒者西席者RyanO'Connor在一篇博客著作中指出,热点网站HuggingFace(用户只需几行代码即可下载并把流程查验和调整的最新模子合并到应用标准管谈中)中92%的可用模子都是PyTorch特有的。

此外,如图一所示,机器学习论文的比较显裸露了较着的倾向于使用PyTorch而辩认TensorFlow的趋势。

天然,PyTorch的底层是CUDA调用,但这不是必需的,因为PyTorch将用户与底层GPU架构讳饰开来。还有一个使用AMDROCm的PyTorch版块,AMDROCm是用于AMDGPU编程的开源软件堆栈。稀薄AMDGPU的CUDA护城河可能和使用PyTorch一样简便。在之前的著作《CUDA正在被赶下神坛》中软件开发公司,有谈了PyTorch对CUDA的影响,



上一篇:软件开发公司 银行业有才智叮嘱息差下行压力
下一篇:软件开发公司 翻开事迹增长新空间,庞杂医药完成两项要紧产业布局,锚定万亿慢病及过敏性鼻炎赛谈