Tesla k20m 与 Direct3D 11 的互操作性
Tesla k20m interoperability with Direct3D 11
我想知道我是否可以使用 Nvidia Tesla K20 和 Direct3D 11?
我想使用 Direct3D 渲染图像,然后使用 CUDA 处理渲染图像,[我知道如何计算 CUDA 互操作性]。
Tesla k20 没有显示适配器(物理远程适配器)
我设法使用 Tesla C2075 做到了这一点,但是使用 K20 我无法接收设备适配器(EnumAdapters 命令)。
是否可以使用 Tesla K20 和 Direct3D?
说实话,这段代码是用记事本写的
谢谢
IDXGIFactory* factory = 0 ;
IDXGIAdapter* adapter = 0 ;
int dev = 0;
CreateDXGIFactory( __uuidof(IDXGIFactory) , (void**)&factory);
for (unsigned int i = 0 ; !adapter ; ++i )
{
if ( FAILED( factory->EnumAdapters (i , &adapter )))
break;
if ( cudaD3D11GetDevice(&dev , adapter) == cudaSuccess )
break;
adapter->Release()
}
不,这不可能。
K20m 可以在 Linux 上与 OpenGL 图形一起使用 (),但至少在 windows 8.x 之前,您将无法使用K20m 作为 Windows.
中的 D3D 设备
K20m 未在 PCI 配置中发布 VGA 类代码 space,这意味着 windows 和 NVIDIA 驱动程序都不会在此设备上构建适当的 windows 显示驱动程序堆栈.否则,您不能将其用作 D3D 设备。通过 nvidia-smi
实用程序可以看到这方面的其他证据,它将显示 K20 设备处于 TCC 模式。任何将其切换到 WDDM 模式的尝试都将失败(以某种方式 - 在重新启动之前失败可能不明显)。
如果您找到另一个 GPU(例如 Tesla C2075),这意味着除其他外,GPU 正在 PCI 配置中发布 VGA 类代码 space。
This general document covers classcode location in the PCI header on slide 62. This ECN 摘录类代码定义。 VGA 类代码是 0x0300,而 3D 控制器类代码(我相信这是 K20m 发布的)是 0x0302。
上述情况有一些有限的例外情况。例如,一种配置中的 Tesla M2070Q 不发布 VGA 类代码(还有另一种配置 确实 发布 VGA 类代码),而是发布 3D 控制器类代码。在此配置中,Microsoft RemoteFX 可将其用作多个 Hyper-V VM 的共享图形设备。在这种情况下,一些 D3D 功能(通过 DX9)在 VM 中是可能的。
在 linux 中,“3D 控制器”和 "VGA Controller" 之间的区别使用 lspci 命令很明显。
在windows中,你可以得到一个配置space reader来查看差异,或者你可以在设备管理器中查看。 Tesla C2075 应该出现在 "Display Adapters" 下,而 K20m 会出现在其他地方。
我想知道我是否可以使用 Nvidia Tesla K20 和 Direct3D 11?
我想使用 Direct3D 渲染图像,然后使用 CUDA 处理渲染图像,[我知道如何计算 CUDA 互操作性]。
Tesla k20 没有显示适配器(物理远程适配器)
我设法使用 Tesla C2075 做到了这一点,但是使用 K20 我无法接收设备适配器(EnumAdapters 命令)。
是否可以使用 Tesla K20 和 Direct3D?
说实话,这段代码是用记事本写的
谢谢
IDXGIFactory* factory = 0 ;
IDXGIAdapter* adapter = 0 ;
int dev = 0;
CreateDXGIFactory( __uuidof(IDXGIFactory) , (void**)&factory);
for (unsigned int i = 0 ; !adapter ; ++i )
{
if ( FAILED( factory->EnumAdapters (i , &adapter )))
break;
if ( cudaD3D11GetDevice(&dev , adapter) == cudaSuccess )
break;
adapter->Release()
}
不,这不可能。
K20m 可以在 Linux 上与 OpenGL 图形一起使用 (
K20m 未在 PCI 配置中发布 VGA 类代码 space,这意味着 windows 和 NVIDIA 驱动程序都不会在此设备上构建适当的 windows 显示驱动程序堆栈.否则,您不能将其用作 D3D 设备。通过 nvidia-smi
实用程序可以看到这方面的其他证据,它将显示 K20 设备处于 TCC 模式。任何将其切换到 WDDM 模式的尝试都将失败(以某种方式 - 在重新启动之前失败可能不明显)。
如果您找到另一个 GPU(例如 Tesla C2075),这意味着除其他外,GPU 正在 PCI 配置中发布 VGA 类代码 space。
This general document covers classcode location in the PCI header on slide 62. This ECN 摘录类代码定义。 VGA 类代码是 0x0300,而 3D 控制器类代码(我相信这是 K20m 发布的)是 0x0302。
上述情况有一些有限的例外情况。例如,一种配置中的 Tesla M2070Q 不发布 VGA 类代码(还有另一种配置 确实 发布 VGA 类代码),而是发布 3D 控制器类代码。在此配置中,Microsoft RemoteFX 可将其用作多个 Hyper-V VM 的共享图形设备。在这种情况下,一些 D3D 功能(通过 DX9)在 VM 中是可能的。
在 linux 中,“3D 控制器”和 "VGA Controller" 之间的区别使用 lspci 命令很明显。
在windows中,你可以得到一个配置space reader来查看差异,或者你可以在设备管理器中查看。 Tesla C2075 应该出现在 "Display Adapters" 下,而 K20m 会出现在其他地方。