当安装了多个GPGPU时,在Windows HPC节点上调用C++Amp DLL失败

本文关键字:节点 HPC 调用 C++Amp 失败 DLL Windows 安装 GPGPU | 更新日期: 2023-09-27 18:27:09

我正试图用Windows HPC节点上的C#程序中的Amp代码调用本机C++dll。当节点上只安装了一个GPGPU时,代码运行良好。当我尝试安装三个GPGPU时,程序在尝试加载dll时会冻结(它永远不会进展,也不会抛出任何错误)。dll根本不会启动(在生成Amp调用之前,没有任何输出日志记录)。当直接在节点上运行代码(而不是通过HPC头节点管理器)时,代码运行良好。关于如何运行代码有什么想法吗?此外,我不完全确定需要增加什么信息,所以如果我遗漏了任何信息,请告诉我。

编辑:回顾日志,Windows HPC返回错误消息:未处理的异常:System.AccessViolationException:试图读取或写入受保护的内存

当安装了多个GPGPU时,在Windows HPC节点上调用C++Amp DLL失败

我发现了问题,Windows HPC阻塞了一些GPU,因为程序没有在控制台会话中运行。使用与正在运行的作业相同的登录名可以创建控制台会话。