我们可以在没有安装工具包的情况下运行cuda加速程序吗? 我编写了一个C++ DLL,它处理CUDA加速,并暴露了它在C控制台应用程序中使用的一些功能。在我的工作电脑上一切正常。但我在另一台计算机上遇到问题:

我们可以在没有安装工具包的情况下运行cuda加速程序吗? 我编写了一个C++ DLL,它处理CUDA加速,并暴露了它在C控制台应用程序中使用的一些功能。在我的工作电脑上一切正常。但我在另一台计算机上遇到问题:,c++,dll,cuda,dllimport,C++,Dll,Cuda,Dllimport,工作计算机:i73770;Nvidia GT 710(支持CUDA);CUDA工具包:已安装 它在这台计算机上运行良好 另一台计算机:Xeon八核2.6GHz;Nvidia Quadro 2000(GPU-Z程序将其标记为具有cuda功能);CUDA工具包:未安装 C(C控制台和C++ DLL)应用程序出错:无法加载DLL!br> 第二台计算机有什么问题? 主要问题:运行CUDA加速应用程序是否需要安装CUDA Toolkit? 如果是,那么在目标计算机上没有安装CUDA工具包的情况下,其他应

工作计算机:i73770;Nvidia GT 710(支持CUDA);CUDA工具包:已安装
它在这台计算机上运行良好

另一台计算机:Xeon八核2.6GHz;Nvidia Quadro 2000(GPU-Z程序将其标记为具有cuda功能);CUDA工具包:未安装
C(C控制台和C++ DLL)应用程序出错:无法加载DLL!br>

第二台计算机有什么问题?
主要问题:运行CUDA加速应用程序是否需要安装CUDA Toolkit?
如果是,那么在目标计算机上没有安装CUDA工具包的情况下,其他应用程序(Photoshop等)如何做到这一点


编辑:我发现这个程序是通过一个简单的add函数(来自DllImport)崩溃的,而不是因为CUDA函数。但在工作的电脑上一切都很好

代码文件: dllmain.cpp:

cudamain.cu:


Program.cs:

我终于解决了这个问题。

问题: 我在命令提示符中复制了以下命令以查找依赖项:
转储BIM/依赖项路径到dll
依赖项是:cudart64_90.dll、VCRUNTIME140.dll、api-ms-win-crt-runtime-l1-1-0.dll、KERNEL32.dll
dumpbin是位于以下位置的应用程序:C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\Hostx64\x64


解决方案:我刚刚将cudart64_90.dll复制到应用程序目录。

最后我解决了这个问题。

问题: 我在命令提示符中复制了以下命令以查找依赖项:
转储BIM/依赖项路径到dll
依赖项是:cudart64_90.dll、VCRUNTIME140.dll、api-ms-win-crt-runtime-l1-1-0.dll、KERNEL32.dll
dumpbin是位于以下位置的应用程序:C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\Hostx64\x64


解决方案:我刚刚将cudart64_90.dll复制到应用程序目录。

当您只想运行为CUDA编译的程序时,不需要安装工具包。但是,您需要CUDA运行时,它应该与英伟达驱动程序捆绑在一起,显然需要NVIDIA GRPAHICS卡。像Photoshop这样的东西很可能不依赖CUDA,而是使用更通用的OpenCL,它有更广泛的硬件支持。@HenriMenke感谢您的意见!但是由于一个简单的add函数,程序崩溃了,并且说无法加载dll。它在我的工作电脑上运行良好。你没有提供任何细节。仅仅说“它崩溃了”是不够的。不要让我们猜测。@DavidHeffernan当c#console调用add函数时,它崩溃了,该函数是使用DllImport声明的,最初在dllmain.cpp中!我的主计算机上没有错误,但程序在另一台计算机上崩溃了!不要发布网站外的链接。在这里贴一张。不要说“它崩溃了”。逐字提供错误消息。当您只想运行为CUDA编译的程序时,不需要安装工具包。但是,您需要CUDA运行时,它应该与英伟达驱动程序捆绑在一起,显然需要NVIDIA GRPAHICS卡。像Photoshop这样的东西很可能不依赖CUDA,而是使用更通用的OpenCL,它有更广泛的硬件支持。@HenriMenke感谢您的意见!但是由于一个简单的add函数,程序崩溃了,并且说无法加载dll。它在我的工作电脑上运行良好。你没有提供任何细节。仅仅说“它崩溃了”是不够的。不要让我们猜测。@DavidHeffernan当c#console调用add函数时,它崩溃了,该函数是使用DllImport声明的,最初在dllmain.cpp中!我的主计算机上没有错误,但程序在另一台计算机上崩溃了!不要发布网站外的链接。在这里贴一张。不要说“它崩溃了”。逐字提供错误消息。