카테고리 없음

cupy 설치(cuda 용 Numpy) CPU>GPU

나스닥171819 2025. 7. 24. 01:13
728x90
반응형

 

pyrorch 와 Numpy 를 섞으면 환상이라더니....

 

 

 

cupy 설치

 

pip install cupy

 

컴파일 하느라 굉장히 오래 걸림.

 

 

결과는 CPU>GPU

느림

 

CPU (Numpy 사용 X)

(D:\conda\yolov10) C:\Users\asdfasdf>python a2.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [02:12<00:00, 75346.22it/s]
tensor([[ 0.2782, -3.0256, -3.1502],
        [-0.1047,  2.8828,  3.4342],
        [ 0.3741,  2.6240,  3.8739]])
CPU에서 1천만번 연산 수행 시간: 285.913432598114초

(D:\conda\yolov10) C:\Users\asdfasdf>python a.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [02:00<00:00, 83238.87it/s]
CPU에서 1천만번 연산 수행 시간: 263.38377356529236초

(D:\conda\yolov10) C:\Users\asdfasdf>python a.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [02:06<00:00, 78967.26it/s]
CPU에서 1천만번 연산 수행 시간: 269.3785479068756초

 

 

GPU (Numpy 사용 X)

(D:\conda\yolov10) C:\Users\asdfasdf>python c2.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [06:27<00:00, 25824.64it/s]
GPU에서 1천만번 연산 수행 시간: 542.9870045185089초

 

CPU (Numpy 사용 O)

(D:\conda\yolov10) C:\Users\asdfasdf>python d.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [00:28<00:00, 346396.77it/s]
CPU에서 1천만번 연산 수행 시간: 29.15070939064026초


GPU  (cupy 사용 O)
(D:\conda\yolov10) C:\Users\asdfasdf>python dcupy.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [07:04<00:00, 23532.63it/s]
CPU에서 1천만번 연산 수행 시간: 424.95506954193115초

 

 

 

 

 

 

 


다른 pc

CPU (Numpy 사용 X)

(yolov9) D:\temp\cmd>python a.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [06:27<00:00, 25836.44it/s]
CPU에서 1천만번 연산 수행 시간: 825.3457431793213초

 

CPU (Numpy 사용 X)
(yolov9) D:\temp\cmd>python a.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [01:31<00:00, 108955.42it/s]
CPU에서 1천만번 연산 수행 시간: 1304.359778881073초

 

CPU (Numpy 사용 X)

(yolov9) D:\temp\cmd>python a.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [06:27<00:00, 25836.44it/s]
CPU에서 1천만번 연산 수행 시간: 825.3457431793213초

 

CPU (Numpy 사용 X)
(yolov9) D:\temp\cmd>python a.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [01:31<00:00, 108955.42it/s]
CPU에서 1천만번 연산 수행 시간: 1304.359778881073초

 

CPU (Numpy 사용 X)
(yolov9) D:\temp\cmd>python a.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [01:34<00:00, 105439.51it/s]
CPU에서 1천만번 연산 수행 시간: 195.89095854759216초

 

GPU (cupy 사용 O)
(yolov9) D:\temp\cmd>python dcupy.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [06:40<00:00, 24963.92it/s]
CPU에서 1천만번 연산 수행 시간: 400.5937759876251초

(yolov9) D:\temp\cmd>python a.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [01:19<00:00, 126136.76it/s]
CPU에서 1천만번 연산 수행 시간: 169.49878072738647초

(yolov9) D:\temp\cmd>python a.py
100%|███████████████████████████████████████████████████████████████████| 10000000/10000000 [02:10<00:00, 76677.14it/s]
CPU에서 1천만번 연산 수행 시간: 262.5778257846832초

 

CPU (Numpy 사용 O)
(yolov9) D:\temp\cmd>python d.py
100%|██████████████████████████████████████████████████████████████████| 10000000/10000000 [00:52<00:00, 188891.68it/s]
CPU에서 1천만번 연산 수행 시간: 55.312193155288696초

(yolov9) D:\temp\cmd>

 

 

 

 

 

 

pip install cupy-cuda11x0

오래 안 걸림

 

https://wikidocs.net/227935

 

CuPy: CUDA 기반 Numpy 호환 API

![](https://wikidocs.net/images/page/227935/CuPy_logo.png) `CuPy`[^cupy]는 NumPy와 호환되는 API를 제공하는 …

wikidocs.net

 

 

 

 

 

https://yungyikim-blog.tistory.com/entry/PyTorch%EB%A1%9C-Numpy%EB%A5%BC-%EB%8C%80%EC%B2%B4%ED%95%98%EC%97%AC-%EC%84%B1%EB%8A%A5%EC%9D%84-%EB%81%8C%EC%96%B4%EC%98%AC%EB%A0%A4%EB%B3%B4%EC%9E%90-pytorch-numpy-gpu-cuda-python-colab

 

PyTorch로 Numpy를 대체하여 성능을 끌어올려보자 #pytorch #numpy #gpu #cuda #python #colab

PyTorch의 Tensor와 Numpy의 ndarray는 유사한 형태를 가지고 있고 PyTorch의 경우 GPU를 사용한 연산이 가능하기 때문에 Numpy로 작업시 연산 부분을 PyTorch대체해서 처리 속도를 끌어 올릴 수 있다. 다음과

yungyikim-blog.tistory.com

 

 

 

cuda_11.8.0_522.06_windows.exe

설치 안해도 yolov10 예제 돌아갔으나

cupy 예제는 아래처럼 오류남.

cuda_11.8.0_522.06_windows.exe

설치하면 아래 오류 해결 됨.

 

pip install cupy-cuda11x 했더니

 

nvrtc64_112_0.dll 없다고....

 

 

 

(D:\conda\yolov10) C:\Users\asdfasdf\yolov10>pip install cupy-cuda11x
Collecting cupy-cuda11x
  Downloading cupy_cuda11x-13.5.1-cp39-cp39-win_amd64.whl.metadata (2.5 kB)
Requirement already satisfied: numpy<2.6,>=1.22 in d:\conda\yolov10\lib\site-packages (from cupy-cuda11x) (1.24.4)
Collecting fastrlock>=0.5 (from cupy-cuda11x)
  Downloading fastrlock-0.8.3-cp39-cp39-win_amd64.whl.metadata (7.9 kB)
Downloading cupy_cuda11x-13.5.1-cp39-cp39-win_amd64.whl (77.1 MB)
   ---------------------------------------- 77.1/77.1 MB 25.6 MB/s eta 0:00:00
Downloading fastrlock-0.8.3-cp39-cp39-win_amd64.whl (37 kB)
Installing collected packages: fastrlock, cupy-cuda11x
Successfully installed cupy-cuda11x-13.5.1 fastrlock-0.8.3

(D:\conda\yolov10) C:\Users\asdfasdf\yolov10>cd..

(D:\conda\yolov10) C:\Users\asdfasdf>python cup.py
  File "C:\Users\asdfasdf\cup.py", line 5
    python cupytest.py
           ^
SyntaxError: invalid syntax

(D:\conda\yolov10) C:\Users\asdfasdf>python cup.py
D:\conda\yolov10\lib\site-packages\cupy\_environment.py:215: UserWarning: CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.
  warnings.warn(
Traceback (most recent call last):
  File "cupy_backends\\cuda\\_softlink.pyx", line 25, in cupy_backends.cuda._softlink.SoftLink.__init__
  File "D:\conda\yolov10\lib\ctypes\__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'nvrtc64_112_0.dll' (or one of its dependencies). Try using the full path with constructor syntax.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\asdfasdf\cup.py", line 3, in <module>
    x = cp.arange(6).reshape(2, 3)
  File "D:\conda\yolov10\lib\site-packages\cupy\_creation\ranges.py", line 60, in arange
    _arange_ufunc(typ(start), typ(step), ret, dtype=dtype)
  File "cupy\\_core\\_kernel.pyx", line 1374, in cupy._core._kernel.ufunc.__call__
  File "cupy\\_core\\_kernel.pyx", line 1401, in cupy._core._kernel.ufunc._get_ufunc_kernel
  File "cupy\\_core\\_kernel.pyx", line 1082, in cupy._core._kernel._get_ufunc_kernel
  File "cupy\\_core\\_kernel.pyx", line 94, in cupy._core._kernel._get_simple_elementwise_kernel
  File "cupy\\_core\\_kernel.pyx", line 82, in cupy._core._kernel._get_simple_elementwise_kernel_from_code
  File "cupy\\_core\\core.pyx", line 2382, in cupy._core.core.compile_with_cache
  File "cupy\\_core\\core.pyx", line 2320, in cupy._core.core.assemble_cupy_compiler_options
  File "cupy_backends\\cuda\\libs\\nvrtc.pyx", line 57, in cupy_backends.cuda.libs.nvrtc.getVersion
  File "cupy_backends\\cuda\\libs\\_cnvrtc.pxi", line 72, in cupy_backends.cuda.libs.nvrtc.initialize
  File "cupy_backends\\cuda\\libs\\_cnvrtc.pxi", line 75, in cupy_backends.cuda.libs.nvrtc._initialize
  File "cupy_backends\\cuda\\libs\\_cnvrtc.pxi", line 147, in cupy_backends.cuda.libs.nvrtc._get_softlink
  File "cupy_backends\\cuda\\_softlink.pyx", line 32, in cupy_backends.cuda._softlink.SoftLink.__init__
RuntimeError: CuPy failed to load nvrtc64_112_0.dll: FileNotFoundError: Could not find module 'nvrtc64_112_0.dll' (or one of its dependencies). Try using the full path with constructor syntax.

 

 

반응형