升级到CUDA 11时cudaError / CUresult不兼容

问题描述

我正在尝试将项目从VS2013 / CUDA 8.0升级到VS2019 / CUDA11.1。

在VS2013 / CUDA8中一切正常,但是当我尝试使用VS2019 / CUDA11构建项目时,却遇到了关于cuda_helper的兼容性错误

var starLvl = "";

for(let i=0; i < testObj.difficultyLevel; i++) {
    starLvl += "&#11088;"; // concatenates N stars
}

html += "<td>" + starLvl + "</td>";

CUDA 11中发生了哪些更改,可能导致此错误? 如何找到并纠正项目中的错误

解决方法

我能够解决导入<helper_cuda.h>而不是<helper_cuda_drvapi.h>的问题

实际上,CUDA驱动程序返回CUresult,而CUDA运行时返回cudaError_t。 它可能已从一种CUDA版本更改为另一种版本。

否则,正如爪子所提到的那样,在我的项目中包括一些CUDA示例可能不是一个好主意。