2014-12-08 7 views
1

에 작동이 중지 : 나는 그것을 실행 처음은 괜찮 았는데Numbapro 나는 다음과 같은 프로그램을 실행하기 위해 노력하고있어 GPU

import numpy as np 
from timeit import default_timer as timer 
from numbapro import vectorize 


@vectorize(["float32(float32, float32)"], target='gpu') 
def VectorAdd(a,b): 
     return a + b 

def main(): 
     N = 32e6 

     A = np.ones(N, dtype=np.float32) 
     B = np.ones(N, dtype=np.float32) 
     C = np.zeros(N, dtype=np.float32) 


     start = timer() 
     C = VectorAdd(A, B, C) 
     vectoradd_time = timer() - start 

     print "C[:5] = " + str(C[:5]) 
     print "C[-5:] = " + str(C[-5:]) 

     print "VectorAdd took %f seconds" % vectoradd_time 


if __name__ == '__main__': 
     main() 

. 그러나 나는 nvprof과 몇 가지 추가 라이브러리를 설치하려고 그 이후로 나는 다음과 같은 오류 얻을 : 라이브러리를 제거

Traceback (most recent call last): 
    File "test.py", line 6, in <module> 
    @vectorize(["float32(float32, float32)"], target='gpu') 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/npyufunc/decorators.py", line 68, in wrap 
    vec.add(fty) 
    File "/opt/anaconda1anaconda2anaconda3/lib/python2.7/site-packages/numbapro/cudavec/vectorizers.py", line 78, in add 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/decorators.py", line 89, in kernel_jit 
    kernel.bind() 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/compiler.py", line 234, in bind 
    self._func.get() 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/compiler.py", line 181, in get 
    cuctx = get_context() 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 126, in get_context 
    return _get_device(devnum=devnum).context 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 118, in _get_device 
    _gpustack.push(get_gpu(devnum)) 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 108, in get_gpu 
    return gpus[i] 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 34, in __getitem__ 
    return self._gpus[item] 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 23, in _gpus 
    self._tls.gpus = self._init_gpus() 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/devices.py", line 28, in _init_gpus 
    for num in range(driver.get_device_count()): 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/driver.py", line 256, in get_device_count 
    self.cuDeviceGetCount(byref(count)) 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/driver.py", line 201, in __getattr__ 
    self.initialize() 
    File "/home/matthias/anaconda/lib/python2.7/site-packages/numba/cuda/cudadrv/driver.py", line 182, in initialize 
    raise CudaSupportError("Error at driver init: \n%s:" % e) 
numba.cuda.cudadrv.error.CudaSupportError: Error at driver init: 
Call to cuInit results in CUDA_ERROR_NO_DEVICE: 

가 도움이되지 않았습니다.

+0

스택 추적의 상단은 때문에, 어떻게 든 설치 nvprof 또는 그 다른 라이브러리가 CUDA 드라이버를 엉망으로 표시하는 것 장치가 검색되지 않습니다. 다시 설치 하시겠습니까? –

답변

1

Stein,

지난 주에도 비슷한 문제가 발생했습니다. 아나콘다 환경을 2.7에서 3.4로 업그레이드했으며 numbapro를 사용하는 코드가 "CUDA_ERROR_NO_DEVICE에서 cuInit 결과 호출"과 함께 실패하기 시작했습니다.

업 그레 이드가 귀하의 것과 동일한 이유인지는 확실하지 않지만 다만 대소 문자를 언급합니다. (나는 또한 ARM 프로세서를 사용하는 Ubuntu에 대해 언급해야합니다.)

cuda_6.5.14_linux_aarch64_native.run 설치 프로그램을 다운로드하고 우분투 명령 줄로 재부팅 한 다음 최신 드라이버를 설치했습니다. X로 재부팅 한 후, 나는 iPython을 열고 성공적으로 다음 실행

수입 numbapro numbapro.check_cuda()

나는이 도움이 될 희망을.

0

현재 받고있는 오류와 관련이 없지만 VectorAdd를 호출하는 줄의 코드에 오류가 있음을 유의하십시오.

당신은이 :

C = VectorAdd(A, B, C) 

그것은해야한다 :

C = VectorAdd(A, B) 
관련 문제