Jetson Nano에서 CuPy
5840 단어 PipenvCuPyJetsonNanoJetson
소개
Chainer를 사용하기 전에 CuPy를 GPU로 움직이는 것이 필요하기 때문에 그를 위한 실험.
사전 준비
환경을 분리하는 것을 생각해서 pipenv
를 이용한다.
yamamo-to@jetson-nano:~$ sudo apt install python3-pip
yamamo-to@jetson-nano:~$ pip3 install pipenv --user
pipenv
가 $HOME/.local/bin
에 설치되었지만 이미 PATH는 다녔습니다. ~/.profile에 같은 경로를 읽게 되어 있었다. .bash_profile을 사용하는 경우는 PATH가 통과하지 않기 때문에, 그 경우는 이하의 커멘드로 통과할 필요가 있다.
yamamo-to@jetson-nano:~$ export PATH=$HOME/.local/bin:$PATH
또한 설치 전에 주파수를 올린다.
yamamo-to@jetson-nano:~$ sudo jetson_clocks
또한 메모리가 부족했을 때용으로 스왑을 준비한다.
yamamo-to@jetson-nano:~$ sudo fallocate -l 4G /swapfile
yamamo-to@jetson-nano:~$ sudo chmod 600 /swapfile
yamamo-to@jetson-nano:~$ sudo mkswap /swapfile
yamamo-to@jetson-nano:~$ sudo swapon /swapfile
설치
1시간 가까이 시간이 걸렸지만 설치는 할 수 있었던 것 같다.
yamamo-to@jetson-nano:~$ mkdir ~/Documents/Chainer
yamamo-to@jetson-nano:~$ cd ~/Documents/Chainer
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv --three
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv install cupy
동작 확인
우선 python3에서 CuPy가 움직인다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 -c 'import cupy as cp; print(cp.__version__)'
6.0.0
샘플 1 을 참고로 아래와 같은 cupy_test.py 를 작성해 동작 확인을 실시한다.
cupy_test.pyimport cupy as cp
cp.cuda.Device(0).use()
x_gpu = cp.array([1, 2, 3])
l2_gpu = cp.linalg.norm(x_gpu)
print(l2_gpu)
이 프로그램을 실행하면
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 cupy_test.py
3.7416573867739413
또한 존재하지 않는 GPU를 지정하면 확실히 에러가 된다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cupy as cp
>>> cp.cuda.Device(1).use()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cupy/cuda/device.pyx", line 135, in cupy.cuda.device.Device.use
File "cupy/cuda/device.pyx", line 141, in cupy.cuda.device.Device.use
File "cupy/cuda/runtime.pyx", line 193, in cupy.cuda.runtime.setDevice
File "cupy/cuda/runtime.pyx", line 145, in cupy.cuda.runtime.check_status
cupy.cuda.runtime.CUDARuntimeError: cudaErrorInvalidDevice: invalid device ordinal
덤
wheel 버전을 설치하려고하면 훌륭하게 실패했습니다.
h tps : // css 쿠 py. 짱 r. 오 rg/엔/s타 bぇ/단독 l/바시 c. HTML ↩
Reference
이 문제에 관하여(Jetson Nano에서 CuPy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yamamo-to/items/972bc588c350ff3bb0cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
환경을 분리하는 것을 생각해서
pipenv
를 이용한다.yamamo-to@jetson-nano:~$ sudo apt install python3-pip
yamamo-to@jetson-nano:~$ pip3 install pipenv --user
pipenv
가 $HOME/.local/bin
에 설치되었지만 이미 PATH는 다녔습니다. ~/.profile에 같은 경로를 읽게 되어 있었다. .bash_profile을 사용하는 경우는 PATH가 통과하지 않기 때문에, 그 경우는 이하의 커멘드로 통과할 필요가 있다.yamamo-to@jetson-nano:~$ export PATH=$HOME/.local/bin:$PATH
또한 설치 전에 주파수를 올린다.
yamamo-to@jetson-nano:~$ sudo jetson_clocks
또한 메모리가 부족했을 때용으로 스왑을 준비한다.
yamamo-to@jetson-nano:~$ sudo fallocate -l 4G /swapfile
yamamo-to@jetson-nano:~$ sudo chmod 600 /swapfile
yamamo-to@jetson-nano:~$ sudo mkswap /swapfile
yamamo-to@jetson-nano:~$ sudo swapon /swapfile
설치
1시간 가까이 시간이 걸렸지만 설치는 할 수 있었던 것 같다.
yamamo-to@jetson-nano:~$ mkdir ~/Documents/Chainer
yamamo-to@jetson-nano:~$ cd ~/Documents/Chainer
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv --three
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv install cupy
동작 확인
우선 python3에서 CuPy가 움직인다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 -c 'import cupy as cp; print(cp.__version__)'
6.0.0
샘플 1 을 참고로 아래와 같은 cupy_test.py 를 작성해 동작 확인을 실시한다.
cupy_test.pyimport cupy as cp
cp.cuda.Device(0).use()
x_gpu = cp.array([1, 2, 3])
l2_gpu = cp.linalg.norm(x_gpu)
print(l2_gpu)
이 프로그램을 실행하면
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 cupy_test.py
3.7416573867739413
또한 존재하지 않는 GPU를 지정하면 확실히 에러가 된다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cupy as cp
>>> cp.cuda.Device(1).use()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cupy/cuda/device.pyx", line 135, in cupy.cuda.device.Device.use
File "cupy/cuda/device.pyx", line 141, in cupy.cuda.device.Device.use
File "cupy/cuda/runtime.pyx", line 193, in cupy.cuda.runtime.setDevice
File "cupy/cuda/runtime.pyx", line 145, in cupy.cuda.runtime.check_status
cupy.cuda.runtime.CUDARuntimeError: cudaErrorInvalidDevice: invalid device ordinal
덤
wheel 버전을 설치하려고하면 훌륭하게 실패했습니다.
h tps : // css 쿠 py. 짱 r. 오 rg/엔/s타 bぇ/단독 l/바시 c. HTML ↩
Reference
이 문제에 관하여(Jetson Nano에서 CuPy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yamamo-to/items/972bc588c350ff3bb0cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yamamo-to@jetson-nano:~$ mkdir ~/Documents/Chainer
yamamo-to@jetson-nano:~$ cd ~/Documents/Chainer
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv --three
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv install cupy
우선 python3에서 CuPy가 움직인다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 -c 'import cupy as cp; print(cp.__version__)'
6.0.0
샘플 1 을 참고로 아래와 같은 cupy_test.py 를 작성해 동작 확인을 실시한다.
cupy_test.py
import cupy as cp
cp.cuda.Device(0).use()
x_gpu = cp.array([1, 2, 3])
l2_gpu = cp.linalg.norm(x_gpu)
print(l2_gpu)
이 프로그램을 실행하면
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3 cupy_test.py
3.7416573867739413
또한 존재하지 않는 GPU를 지정하면 확실히 에러가 된다.
yamamo-to@jetson-nano:~/Documents/Chainer$ pipenv run python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cupy as cp
>>> cp.cuda.Device(1).use()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cupy/cuda/device.pyx", line 135, in cupy.cuda.device.Device.use
File "cupy/cuda/device.pyx", line 141, in cupy.cuda.device.Device.use
File "cupy/cuda/runtime.pyx", line 193, in cupy.cuda.runtime.setDevice
File "cupy/cuda/runtime.pyx", line 145, in cupy.cuda.runtime.check_status
cupy.cuda.runtime.CUDARuntimeError: cudaErrorInvalidDevice: invalid device ordinal
덤
wheel 버전을 설치하려고하면 훌륭하게 실패했습니다.
h tps : // css 쿠 py. 짱 r. 오 rg/엔/s타 bぇ/단독 l/바시 c. HTML ↩
Reference
이 문제에 관하여(Jetson Nano에서 CuPy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yamamo-to/items/972bc588c350ff3bb0cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Jetson Nano에서 CuPy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamamo-to/items/972bc588c350ff3bb0cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)