我有一个应用程序,其中包含一个使用CUDA加速的算法。还有一个标准的CPU实现。我们计划将此应用程序发布到各种平台,因此大多数情况下,没有NVIDIA显卡来运行加速的CUDA代码。我想要的是首先检查用户的系统是否有启用CUDA的NVIDIA显卡,如果有,则初始化CUDA运行时。如果系统不支持CUDA,则我想执行CPU路径。这个问题与这个问题非常相似,但我不想使用除纯CUDA运行时之外的任何其他库。 OpenCL是一种替代方案,但在第一个版本中没有足够的时间实现OpenCL版本的算法。如果没有CUDA存在检查,程序肯定会崩溃,因为它找不到CUDA运行时所需的.dll文件,我们肯定不希望出现这种情况。因此,我需要关于如何处理此初始化步骤的建议。