我在这里下载了cudafy:https://github.com/lepoco/CUDAfy.NET/releases/tag/v.1.0.0.我使用VS 2022,.NET 4.8。执行此代码时,我得到System.ComponentModel.Win32Exception.
CudafyModes.Target = eGPUType.Cuda;
CudafyModes.DeviceId = 0;
CudafyTranslator.Language = CudafyModes.Target == eGPUType.OpenCL ? eLanguage.OpenCL : eLanguage.Cuda;
if (CudafyHost.GetDeviceCount(CudafyModes.Target) == 0)
throw new System.ArgumentException("No suitable devices found.", "original");
GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
CudafyModule km = CudafyTranslator.Cudafy(); //THE EXCEPTION IS HERE
gpu.LoadModule(km);
StackTrace:
in System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
in Cudafy.NvccExe.getClExeDirectory()
in Cudafy.CompilerHelper.Create(ePlatform platform, eArchitecture arch, eCudafyCompileMode mode, String workingDir, Boolean debugInfo)
in Cudafy.Translator.CudafyTranslator.Cudafy()
in Game.Position..ctor() in C:UsersLenovoDesktopsimplesimplePosition.cs:line 464
in Game.Position.StartPos() in C:UsersLenovoDesktopsimplesimplePosition.cs:line 490
in Game.Board..ctor() in C:UsersLenovoDesktopsimplesimpleBoard.cs:line 189
in Game.FrmMain..ctor() in C:UsersLenovoDesktopsimplesimpleFrmMain.cs:line 18
in Game.Program.Main() in C:UsersLenovoDesktopsimplesimpleProgram.cs:line 19
异常信息:
ErrorCode -2147467259 int
HResult -2147467259 int
HelpLink null string
InnerException null
NativeErrorCode 2 int
Source "System" string
TargetSite {Boolean StartWithCreateProcess(System.Diagnostics.ProcessStartInfo)} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo}
Path环境变量已声明:
Path C:Program FilesMicrosoft Visual Studio2022CommunityVCToolsMSVC14.30.30705binHostx64x64
Cuda Toolkit 11.6已下载。
我该怎么办?
我通过连接源代码解决了这个问题。特别是,该程序没有找到实用程序vswhere.exe的路径。此外,CUDA Toolkit需要VS2010。