当前位置: 首页 > 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.jsqmd.com/news/892399/

相关文章:

  • There Are Many Agent Harnesses, But pi.dev Is Yours
  • FPGA硬件加速高光谱目标检测:ATDCA-GS算法优化与工程实践
  • Lovable招聘系统搭建必须掌握的6个开源组件选型逻辑(附GitHub Star≥12k的实测对比表)
  • 基于Transformer的稀疏结构感知:CraterSense实现月球自主导航新突破
  • 凸二次规划(convex quadratic programming) - ace-
  • 2026台州黄金回收门店实测|三家靠谱上门回收品牌 - 资讯速览
  • 基于PUF与DICE的物联网设备硬件可信根架构设计与实现
  • 五、ESP32 UDP通信实战:从零搭建轻量级数据传输通道
  • Proteus 8.13仿真DHT11温湿度报警系统:从零搭建到按键调试(附完整源码)
  • 你还在用Excel管理Lindy项目交付节点?这6个冷门但致命的自动化断点正悄悄拖垮你的SLA
  • Simulink模块搭建vsS函数:为什么你的控制器跟踪正弦信号总有残余误差?
  • 基于VS-BEAM与卷积自编码器的脑肿瘤MRI智能诊断方法解析
  • 基于HAR-TD3与VAE的主动配电网电压无功协同控制方法
  • 【无代码AI Agent落地避坑手册】:12个真实客户失败案例+可复用的Checklist模板
  • 基于ONNXRuntime C#实现的高性能YOLO推理框架
  • 2026徐州黄金回收店铺推荐省心指南:5大避坑铁律+4步正规流程+本地靠谱商家推荐 - 寻茫精选
  • 2026年4月南京优秀的不锈钢板材定制厂家报价多少,常规不锈钢卷材/430不锈铁板材,不锈钢板材生产厂家报价多少 - 品牌推荐师
  • 【Unity开发字典】分包、黏包基本概念和处理逻辑实现
  • 3分钟彻底改造macOS光标:用Mousecape打造你的个性化桌面体验
  • CANoe诊断安全解锁实战:手把手教你用CPAL脚本搞定27服务密钥交换
  • 别再为STM32串口打印发愁了!HAL库下三种printf重定向方案实测对比(含MicroLIB配置)
  • YOLOv8杂草识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
  • 离散模型解析嵌入式束缚态与法诺共振:从原理到光子器件设计
  • 基于 SkiaSharp 的 WPF AvaloniaUI 极简动图播放方案
  • 《从 Transformer 矩阵乘法说起:KV Cache 到底是在缓存什么?》
  • 盒须图实战指南:用五数概括做数据诊断与异常识别
  • 异步联邦学习与图神经网络驱动的微服务异常检测实践
  • Realtek r8125 DKMS驱动:Linux 2.5G网卡自动适配终极指南
  • 前沿话题:深度学习、3DGS、语义SLAM与多传感器融合
  • 告别adb shell input!用Python+uiautomator2写Android自动化脚本,效率翻倍