Nvidia flownet2 报错: CUDA error: no kernel image is available for execution on the device

最近在跑Nvidia的flownet2,出现了CUDA error: no kernel image is available for execution on the device的问题,查了一下网上的说法,这个问题主要有两种解决办法,第一种方法是降低pytorch的版本,但是这么做算法性能似乎下降,所以本文主要讲第二种方法。

第二种方法是根据显卡的计算能力修改nvcc_args参数,显卡的计算能力可以参考这个网址。比如我的显卡是Geforce GTX 960M,显卡计算能力为5.0。

其中需要修改参数的有以下3个setup.py文件:

https://github.com/NVIDIA/flownet2-pytorch/search?q=nvcc_args&unscoped_q=nvcc_args

我们需要给nvcc_args添加'-gencode', 'arch=compute_xx,code=sm_xx',其中xx是根据你的显卡计算能力来确定的,我的显卡计算能力为5.0,设置xx为50。

Nvidia flownet2 报错: CUDA error: no kernel image is available for execution on the device_第1张图片

修改完参数后,还需要将文件夹中的__pycache__/, dist/, *.egg-info, build/文件删除,然后重新bash install.sh。

之后就会发现问题解决了!

 

你可能感兴趣的:(Nvidia flownet2 报错: CUDA error: no kernel image is available for execution on the device)