当前位置:   article > 正文

pycuda报错error invoking ‘nvcc --preprocess -arch sm_30....[Errno 2] No such file or directory: ‘nvcc‘_windows pycuda error invoking '/usr/local/cuda/bin

windows pycuda error invoking '/usr/local/cuda/bin/nvcc --version':

最近在新配置的环境下使用python编写GPU程序,在用到pycuda包下的函数时出现了如下错误:

File "/home/ubuntu/anaconda3/lib/python3.5/site-packages/pycuda/compiler.py", line 50, in preprocess_source
    result, stdout, stderr = call_capture_output(cmdline, error_on_nonzero=False)
File "/home/ubuntu/anaconda3/lib/python3.5/site-packages/pytools/prefork.py", line 197, in call_capture_output
    return forker[0].call_capture_output(cmdline, cwd, error_on_nonzero)
File "/home/ubuntu/anaconda3/lib/python3.5/site-packages/pytools/prefork.py", line 54, in call_capture_output
    % ( " ".join(cmdline), e))
pytools.prefork.ExecError: error invoking 'nvcc --preprocess -arch sm_30 -I/home/ubuntu/anaconda3/lib/python3.5/site-packages/pycuda/cuda /tmp/tmpkpqwoaxf.cu --compiler-options -P': [Errno 2] No such file or directory: 'nvcc'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

检查了各种配置文件都没有问题,最终将nvcc的路径强行添加到Pycuda的compiler.py文件中的compile_plain()中,成功解决了这一错误:

def compile_plain(source, options, keep, nvcc, cache_dir, target="cubin"):
    from os.path import join

    assert target in ["cubin", "ptx", "fatbin"]
    nvcc = '/usr/local/cuda/bin/'+nvcc
    if cache_dir:
        checksum = _new_md5()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

以上解决方案参考自apache-spark – 在PySpark上使用Pycuda – 找不到nvcc

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/220581
推荐阅读
相关标签
  

闽ICP备14008679号