Windows不支持CUDA IPC操作吗?有解决方法吗?

时间:2019-04-27 16:23:57

标签: pytorch

当尝试使用自定义DataLoader训练神经网络时:

train_dataset = datasets.VectorizedDataset(x_train,y_train)
train_loader = datasets.DataLoader(shuffle=True,num_workers=4)

这会立即错误地加载数据:

RuntimeError: cuda runtime error (71) : operation not supported at c:\a\w\1\s\tmp_conda_3.6_090826\conda\conda-bld\pytorch_1550394668685\work\torch\csrc\generic\StorageSharing.cpp:232

{CUDA IPC ops}已记录在here中:

  

Windows不支持它们。像做某事   CUDA张量上的多处理无法成功,有两个   替代方案。

     
      
  1. 不要使用多重处理。将DataLoader的num_worker设置为零。

  2.   
  3. 改为共享CPU张量。确保自定义数据集返回CPU张量。

  4.   

我正在通过PyTorch 1.0.1和CUDA 10.0在 Windows 10 上使用GTX 1070 GPU。

在Pytorch的Windows计算机上,实际上是否不可能将CUDA张量数据加载卸载到多个CPU上?有解决方法吗?我们是否需要做一些更复杂的事情,例如编写我们自己的多线程?还是我们被迫将所有数据加载到主进程上?

感谢您的帮助。

0 个答案:

没有答案