You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CUDA Driver API应用分发所需文件及与Runtime API的差异对比

CUDA Driver API应用分发文件及与Runtime API的分发差异

一、CUDA Driver API开发的应用需随附分发的文件

  • 主程序可执行文件:编译生成的程序主二进制文件
  • CUDA Kernel文件:如果开发时没有将Kernel代码嵌入主程序,需要随附预编译的.cubin(针对特定CUDA架构编译的二进制Kernel文件)或.ptx(CUDA中间表示代码,支持目标设备JIT编译)文件
  • 自行引入的第三方依赖库:如果程序调用了非系统、非CUDA驱动自带的第三方动态链接库,需要随附对应版本的库文件

注意:CUDA Driver API依赖的核心驱动库libcuda.so(Linux平台)/nvcuda.dll(Windows平台)由NVIDIA官方显卡驱动自带,严禁自行分发,仅需要求目标设备预装版本不低于开发所用驱动版本的NVIDIA显卡驱动即可。

二、与CUDA Runtime API应用的分发差异

两类应用的核心共同点是都不需要分发NVIDIA驱动自带的驱动组件,仅要求目标设备预装符合版本要求的NVIDIA显卡驱动,二者的分发差异如下:

  • CUDA Runtime库依赖差异:Runtime API默认依赖libcudart.so(Linux)/cudart64_xxx.dll(Windows,xxx对应CUDA大版本号),该库不属于显卡驱动自带组件:如果采用动态链接CUDA Runtime的编译方式,必须随程序分发对应版本的CUDA Runtime库;如果采用静态链接方式可以不用分发,但会增大主程序体积。Driver API完全不依赖CUDA Runtime库,无需分发该类文件。
  • Kernel分发逻辑差异:Driver API的Kernel代码默认和主程序分离,需要开发者手动嵌入主程序或单独分发.cubin/.ptx文件;Runtime API的Kernel会在编译阶段自动嵌入主程序二进制,不需要单独分发Kernel文件。
  • 环境依赖要求差异:Driver API应用仅要求目标设备的驱动版本符合要求即可,不需要用户安装完整CUDA Toolkit;动态链接Runtime的应用如果没有随附CUDA Runtime库,要求用户提前安装版本完全匹配的CUDA Toolkit才能运行。

内容的提问来源于stack exchange,提问作者skm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:06:05