各式各样的加速器在当下的计算架构中越来越普遍,HPC、数据中心等高端应用开始追求更高的峰值性能,用到了专业GPU、AI加速器,而手机、嵌入式系统开始追求更高的能效,也在其SoC、MCU中加入一定的嵌入式加速硬件。但与此同时,这样复杂的多厂商、多架构和多硬件生态,为编程带来了巨大的难题。但CUDA作为只面向英伟达GPU的封闭软件生态,其热度却水涨船高。
提及各大编程语言的论文数量/ 谷歌学术
在软件开发中,一个开放的标准层就是开发者产品方案的接口规范,同样的,处理器开发商们可以使用基于开放标准层的底层软件驱动创造解决方案。如此一来软件开发者们无需捆绑在特定的硬件方案上,硬件开发者的硬件不仅可以兼顾自己维护的软件,还能支持到更多的软件开发人员。而且在普及之后,开发人员的技能更加具有普适性,他们可以方便地使用自己熟悉的开发工具。
对使用开放标准的软硬件公司来说,此举可以加快产品上市时间,减少长期维护工作,而且在软件方案厂商日益剧增的当下,业界已经普遍接受了开放标准,就像RISC-V一样,英特尔、AMD甚至是英伟达也都对开放标准的定义做出了贡献,对于一些初创企业来说就更是如此了。
SYCL出世
从市场反馈来看,开发者的需求很明显了,他们想要一个标准的编程模型,拥有标准运算库、对Pytorch、Tensorflow等AI框架的支持、性能分析工具,以及对多个厂商不同硬件架构的支持,而这些需求汇聚在一起,使得开放标准联盟Khronos Group联合旗下成员打造出了SYCL这一编程语言。
SYCL作为跨越CPU、GPU、FPGA和AI加速器等多种架构的一致性编程语言,每个架构能单独或整合编程。SYCL编程语言与其API扩展能用于不同的开发用例,比如负载加速或异构计算应用,将现有的C、C++或其他加速器语言代码转换成SYCL代码。
SYCL的支持情况/ Khronos Group
在不同厂商的支持下,SYCL的实施方式有多种,他们增加了对OpenCL以外不同加速API后端的支持,比如Codeplay的ComputeCpp、英特尔的DPC++、AMD的hipSYCL以及Xilinx的triSYCL等。
英特尔的SYCL之路
英特尔对于SYCL的重视可以说显而易见了,自从宣布转向XPU+oneAPI的路线之后,英特尔就已经与SYCL深度绑定了。不仅微软、谷歌等巨头宣布支持oneAPI,英特尔也和中科院计算所在内的大型研究所、国家实验室和大学合作成立了oneAPI卓越中心,借助他们的oneAPI开源代码,进一步扩展oneAPI产品与规范。
oneAPI的核心则是其编程语言DPC++,英特尔的DPC++可以说是SYCL的超集,不仅包含了SYCL标准,还包含一些功能扩展,比如统一共享内存等,不过目前其中不少扩展也已经并入了SYCL新版规范中。
不过SYCL远不仅是为了方便英特尔建设其跨架构的软件生态,而是为了打破CUDA的统治,打造一个更加开放的软硬件生态,这点从英特尔在oneAPI的开发动向就能看出。
此前英特尔对于CUDA并没有任何动作,反倒是其竞争对手AMD推出了HIP,帮助开发者将CUDA代码移植至AMD平台上,毕竟AMD还得发展GPU生态。但随着英特尔的硬件路线已经不单单是CPU,而是CPU、GPU、FPGA、IPU和AI加速器的多硬件异构生态,这时候打造一个CUDA之外的软件生态是提升其产品竞争力的必经之路了。
为了更好实现对CUDA代码的移植,英特尔推出了DPC++兼容性工具(DPCT),目前版本的DPCT已经可以将90%到95%的CUDA代码转换成SYCL。不过这只是一个理想范围,具体数值还是取决于代码对应的工作负载。对于简单的CUDA程序来说,完成DPC++的移植只需要对CUDA源文件运行这一转换工具即可,相对复杂的CUDA程序还是需要一定的手动编程优化。
今年6月,英特尔公布消息,决定收购Codeplay公司。要说对SYCL的研究,除了英特尔以外,最深入的当属Codeplay了,毕竟就连SYCL工作组的主席也是来自Codeplay的杰出工程师MichaelWong。Codeplay不仅提供了多种处理器上SYCL的支持,也支持将CUDA代码移植为SYCL,同时保证SYCL代码在英伟达GPU上的继续运行,还能调用一些CUDA库。
Codeplay的方案支持覆盖英特尔、AMD、英伟达的处理器,而且他们也开始了对汽车ADAS(瑞萨R-Car)、边缘计算设备(ImaginationPowerVR)与RISC-V处理器(晶心科技NX27V)的支持开发工作。后三者恰好是SYCL当前未曾开拓的市场,但却是英特尔正在发力的三大市场,加上Codeplay本身在HPC、AI上的软件开发实力,如此看来,英特尔收购Codeplay完全符合其战略目标。
结语
尽管SYCL的构想是好的,其发展路线也是倾向于开发者,但这并不代表着就一定能取代CUDA的位置,毕竟SYCL其实也才诞生没多久,与CUDA、OpenCL或OpenMP相比生态发展还没有成熟。再者就是统一各种硬件的编程并没有那么简单,正如英伟达CEO黄仁勋曾经提出的质疑:时间会揭晓一个编程方法是否能兼容七种不同的处理器,至少历史上从未出现过。
提及各大编程语言的论文数量/ 谷歌学术
在软件开发中,一个开放的标准层就是开发者产品方案的接口规范,同样的,处理器开发商们可以使用基于开放标准层的底层软件驱动创造解决方案。如此一来软件开发者们无需捆绑在特定的硬件方案上,硬件开发者的硬件不仅可以兼顾自己维护的软件,还能支持到更多的软件开发人员。而且在普及之后,开发人员的技能更加具有普适性,他们可以方便地使用自己熟悉的开发工具。
对使用开放标准的软硬件公司来说,此举可以加快产品上市时间,减少长期维护工作,而且在软件方案厂商日益剧增的当下,业界已经普遍接受了开放标准,就像RISC-V一样,英特尔、AMD甚至是英伟达也都对开放标准的定义做出了贡献,对于一些初创企业来说就更是如此了。
SYCL出世
从市场反馈来看,开发者的需求很明显了,他们想要一个标准的编程模型,拥有标准运算库、对Pytorch、Tensorflow等AI框架的支持、性能分析工具,以及对多个厂商不同硬件架构的支持,而这些需求汇聚在一起,使得开放标准联盟Khronos Group联合旗下成员打造出了SYCL这一编程语言。
SYCL作为跨越CPU、GPU、FPGA和AI加速器等多种架构的一致性编程语言,每个架构能单独或整合编程。SYCL编程语言与其API扩展能用于不同的开发用例,比如负载加速或异构计算应用,将现有的C、C++或其他加速器语言代码转换成SYCL代码。
SYCL的支持情况/ Khronos Group
英特尔的SYCL之路
英特尔对于SYCL的重视可以说显而易见了,自从宣布转向XPU+oneAPI的路线之后,英特尔就已经与SYCL深度绑定了。不仅微软、谷歌等巨头宣布支持oneAPI,英特尔也和中科院计算所在内的大型研究所、国家实验室和大学合作成立了oneAPI卓越中心,借助他们的oneAPI开源代码,进一步扩展oneAPI产品与规范。
oneAPI的核心则是其编程语言DPC++,英特尔的DPC++可以说是SYCL的超集,不仅包含了SYCL标准,还包含一些功能扩展,比如统一共享内存等,不过目前其中不少扩展也已经并入了SYCL新版规范中。
不过SYCL远不仅是为了方便英特尔建设其跨架构的软件生态,而是为了打破CUDA的统治,打造一个更加开放的软硬件生态,这点从英特尔在oneAPI的开发动向就能看出。
此前英特尔对于CUDA并没有任何动作,反倒是其竞争对手AMD推出了HIP,帮助开发者将CUDA代码移植至AMD平台上,毕竟AMD还得发展GPU生态。但随着英特尔的硬件路线已经不单单是CPU,而是CPU、GPU、FPGA、IPU和AI加速器的多硬件异构生态,这时候打造一个CUDA之外的软件生态是提升其产品竞争力的必经之路了。
为了更好实现对CUDA代码的移植,英特尔推出了DPC++兼容性工具(DPCT),目前版本的DPCT已经可以将90%到95%的CUDA代码转换成SYCL。不过这只是一个理想范围,具体数值还是取决于代码对应的工作负载。对于简单的CUDA程序来说,完成DPC++的移植只需要对CUDA源文件运行这一转换工具即可,相对复杂的CUDA程序还是需要一定的手动编程优化。
今年6月,英特尔公布消息,决定收购Codeplay公司。要说对SYCL的研究,除了英特尔以外,最深入的当属Codeplay了,毕竟就连SYCL工作组的主席也是来自Codeplay的杰出工程师MichaelWong。Codeplay不仅提供了多种处理器上SYCL的支持,也支持将CUDA代码移植为SYCL,同时保证SYCL代码在英伟达GPU上的继续运行,还能调用一些CUDA库。
Codeplay的方案支持覆盖英特尔、AMD、英伟达的处理器,而且他们也开始了对汽车ADAS(瑞萨R-Car)、边缘计算设备(ImaginationPowerVR)与RISC-V处理器(晶心科技NX27V)的支持开发工作。后三者恰好是SYCL当前未曾开拓的市场,但却是英特尔正在发力的三大市场,加上Codeplay本身在HPC、AI上的软件开发实力,如此看来,英特尔收购Codeplay完全符合其战略目标。
结语
尽管SYCL的构想是好的,其发展路线也是倾向于开发者,但这并不代表着就一定能取代CUDA的位置,毕竟SYCL其实也才诞生没多久,与CUDA、OpenCL或OpenMP相比生态发展还没有成熟。再者就是统一各种硬件的编程并没有那么简单,正如英伟达CEO黄仁勋曾经提出的质疑:时间会揭晓一个编程方法是否能兼容七种不同的处理器,至少历史上从未出现过。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
amd
+关注
关注
25文章
5428浏览量
133851 -
英特尔
+关注
关注
60文章
9868浏览量
171336 -
英伟达
+关注
关注
22文章
3726浏览量
90722
发布评论请先 登录
相关推荐
怎么在TMDSEVM6678: 6678自带的FFT接口和CUDA提供CUFFT函数库选择?
请教一下gpgpu上包括4个Riscv cpu和一个DPU, 没有6678,要替换原来信号处理用的6678,该怎么在6678自带的FFT接口和CUDA提供CUFFT函数库选择?
发表于 09-27 07:20
打破英伟达CUDA壁垒?AMD显卡现在也能无缝适配CUDA了
、英特尔等厂商虽然在努力追赶,但目前还未能看到有威胁英伟达地位的可能。 最近一家英国公司Spectral Compute推出了一款方案,可以为AMD的GPU原生编译CUDA源代码,目前正在RNDA2、RDNA3上进行规模测试。这或许可以打破
英国公司实现英伟达CUDA软件在AMD GPU上的无缝运行
7月18日最新资讯,英国创新科技企业Spectral Compute震撼发布了其革命性GPGPU编程工具包——“SCALE”,该工具包实现了英伟达CUDA软件在AMD GPU上的无缝迁移与运行,标志着在GPU计算领域,NVIDIA长期以来的市场垄断地位或将迎来重大挑战。
软件生态上超越CUDA,究竟有多难?
神坛的,还是围绕CUDA打造的一系列软件生态。 英伟达——CUDA的绝对统治 相信对GPU有过一定了解的都知道,英伟达的最大护城河就是CUDA。
借助NVIDIA Aerial CUDA增强5G/6G的DU性能和工作负载整合
Aerial CUDA 加速无线接入网 (RAN)可加速电信工作负载,使用 CPU、GPU 和 DPU 在云原生加速计算平台上提供更高水平的频谱效率 (SE)。
英伟达CUDA-Q平台推动全球量子计算研究
英伟达今日公布了其重要战略决策,即采用开源的CUDA-Q平台,旨在推动德国、日本和波兰等国家超运中心在量子计算领域的创新研究。CUDA-Q作为英伟达推出的一款开源平台,不仅与QPU无关,还实现了量子
Keil使用AC6编译提示CUDA版本过高怎么解决?
\'
ArmClang: warning: Unknown CUDA version 10.2. Assuming the latest supported version 10.1
发表于 04-11 07:56
英伟达AI霸主地位遭巨头联手挑战,CUDA垄断遭破局
据最新外媒报道,科技界的巨头们——高通、谷歌和英特尔等,已经联手向英伟达发起了一场挑战,意图打破其在CUDA平台上的垄断局面。
深入浅出理解PagedAttention CUDA实现
vLLM 中,LLM 推理的 prefill 阶段 attention 计算使用第三方库 xformers 的优化实现,decoding 阶段 attention 计算则使用项目编译 CUDA 代码实现。
什么是CUDA?谁能打破CUDA的护城河?
在最近的一场“AI Everywhere”发布会上,Intel的CEO Pat Gelsinger炮轰Nvidia的CUDA生态护城河并不深,而且已经成为行业的众矢之的。
英特尔:让我们一起消灭CUDA
基尔辛格认为:"由于推理的发生,一旦你训练了模型......就不会依赖CUDA。"关键在于,你能否很好地运行该模型?他表示,英特尔将利用今日首次在舞台上展示的 Gaudi3 迎接挑战,并利用至强和边缘PC实现这一目标
评论