当前位置: 首页 > news >正文

对SYCL在NVIDIA显卡中运行的探索

一、介绍

在现在的工程应用中,由于各种原因吧,采用了Intel的oneAPI框架,也就是原来的DPC++。在前期的性能还是可以满足相关的实际需求的。但现在由于想上一些小模型AI辅助,可能GPU就不够给力了。但一下子又不想转到CUDA版本,还是想在目前的基础上进行完善一下。

二、问题

所以问题就出现了,如何让oneAPI的SYCL支持NVIDIA的显卡,特别是较新的显卡,就成了一个首要的问题。从一般情况来说,大家都明白,凡是这种跨巨头支持的东西,都表现不太好。但也没有办法,只能这样做。

三、思路和探索解决的过程

要想实现二者的兼容,思路其实很简单,查找当前使用oneAPI的版本以及映射到具体的显卡的CUDA版本,用某种机制实现一种类似“翻译”或桥接的这么一种过程即可。
具体的过程应该如下:

  1. 首先在网络和AI中搜索相关的问题,并找到最主流的解法和相关的第三方插件地址
  2. 在“https://codeplay.com/solutions/oneapi/plugins/”中根据上述的版本匹配
  3. 进入“oneAPI for NVIDIA GPUs”
  4. 根据具体的版本进行选择,并选择相应的插件下载方式,如APT,WGET等共四种。网页中有详细的下载说明
  5. 下载相关插件并安装
  6. 下载相关的例程(网站的文档中提供了)并编译运行
  7. 成功即代表可行,不成功可查找原因并解决之
  8. 最终交付

为什么说上面是“应该如下”呢?在第5步出了问题,不让下载。等待了好长时间,没有消息。不死心,怀疑是网络问题,过了会又下载还是不行。如此反复几次,忽然想到是不是需要代理?于是代理了下,好,倒是可以下载了,很高兴,结果,下载的文件啥都不是。如此反复直到第二天,然后直接到下载地址一看,页面都没有了,还下载个屁。
好,是不是可以直接使用APT的方法,用官方的方法,先导入库,再导入相关的密钥,再下载。结果,在第二步就报一个错,“gpg: no valid OpenPGP data found.”好吧,APT之路也断绝了。其它两种方法对于本机来说有点复杂,估计也不行。
所以这个问题到此就无解了。去官方的文档查看,找到了一个GITHUB上的开源软件库“https://github.com/orgs/codeplaysoftware/repositories?page=2”,翻了半天,找到了一个“sycl-for-cuda”,但是这个太老了,不知道能不能使,也不敢在现在的工程上用。

四、分析

有点不太死心,去AI和网上再次查找,在一些页面上发现了了一些细节。直接跳到oneAPI的官网论坛上,发现不少帖子都说无法下载,看日期应该集中在2025年居多。有人猜测可能是codeplay已经停止了对此插件的支持。但尚未找到正式的官方声明。
这里不由得想到前几天Intel宣布彻底不再研发消费级游戏显卡,是不是这也是一种苗头。不好确定,但一切都会有表现出来。但最终如何,仍需官方的声明为准。
但对于DPC++来说,其整体都是开源的,所以虽然找不到公开的插件支持,但却可以直接从源码进行处理,但其中的细节可能就比较多了。后续如果需要对其处理,会再以一篇文章的形式展开。其开源的地址在:
https://github.com/intel/llvm/tree/sycl/unified-runtime/source/adapters/cuda

五、总结

一般来说,不到万不得已,千万不能对大框架自行进行兼容。不是说不可以,是成本太高。其实在头部的互联网公司中做地很多类似的事情,而且做得还不错。但也只有头部的大公司在做,一般公司是不愿意做的,风险和成本都非常大。而且即使做出来,也未必达到需求的目的。甚至都不如直接再写一套更好。
这次短期的调研更验证了这种判断,具体到本工程,还不如直接用CUDA重写相关代码呢,借助AI的辅助,反而可能更容易实现相关的目的。虽然耗时肯定不短,但相比目前的风险,还是值得考虑的。

http://www.zskr.cn/news/1395764.html

相关文章:

  • Python 爬虫实战:微信公众号文章数据爬取与热点分析
  • There Are Many Agent Harnesses, But pi.dev Is Yours
  • 凸二次规划(convex quadratic programming) - ace-
  • 实测!飞凌FCU1501嵌入式控制单元,极端工业环境稳到离谱个人实测干货
  • 图神经网络位置编码新思路:NAPE算法原理与实战指南
  • 【无代码AI Agent落地避坑手册】:12个真实客户失败案例+可复用的Checklist模板
  • 基于ONNXRuntime C#实现的高性能YOLO推理框架
  • 无监督语音韵律解耦:Prosody2Vec模型原理与应用实践
  • 3分钟彻底改造macOS光标:用Mousecape打造你的个性化桌面体验
  • 从手动分析到算法自动化:ChanlunX缠论插件如何彻底改变你的技术分析体验
  • 扩散模型在阿尔茨海默病脑影像分析中的应用:从合成数据到个体化疾病热图
  • 基于 SkiaSharp 的 WPF AvaloniaUI 极简动图播放方案
  • 《从 Transformer 矩阵乘法说起:KV Cache 到底是在缓存什么?》
  • 当电子签遇上AI大模型:一场签约效率革命正在发生
  • 异步联邦学习与图神经网络驱动的微服务异常检测实践
  • 告别adb shell input!用Python+uiautomator2写Android自动化脚本,效率翻倍
  • Windows 10/11 上保姆级安装HYSPLIT教程:从下载依赖到配置环境变量,一次搞定大气轨迹分析
  • 26年上半年教育加盟培训机构口碑排行 - 资讯速览
  • Nmap实战精要:从安装避坑到漏洞测绘的渗透测试工作流
  • 2026最新!降AIGC工具测评:论文降重与改写的好帮手
  • STL时间序列分解实战:趋势、季节性与噪声的业务化解读
  • 告别死记硬背:手把手带你用Pytest+Allure重构蓝桥杯自动化测试项目(从Unittest迁移)
  • C# 面向对象:基础概念
  • 告别坐标点击!用Poco精准定位Android App UI控件(附完整代码示例)
  • 多模态大模型技术深度解析:从 CLIP 到 LLaVA 的视觉语言融合原理
  • 车机端实时诊断失效,订单履约中断频发,深度复盘Lovable微服务链路追踪断点及全链路可观测性重构路径
  • CTF逆向爆破实战:C++进程级暴力框架设计与优化
  • 2026年5月遵义地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 从零搭建Python自动化测试环境:手把手教你为蓝桥杯软件测试赛项配置Firefox+WebDriver
  • 告别‘文件被占用’:手把手教你用Process Explorer的搜索功能解决删除难题