본문 바로가기

프로그래밍

Python CuPy를 활용한 Matrix 연산 최적화

import cupy as cp
import numpy as np 
import time

print("Current Device : ", cp.cuda.runtime.getDeviceCount())

N = 10000
a = cp.random.rand(N,N)
b = cp.random.rand(N,N)
c = np.random.rand(N,N)
d = np.random.rand(N,N)

t1 = time.time()
cp.matmul(a,b,out=None)
t2 = time.time()

t3 = time.time()
np.matmul(c,d,out=None)
t4 = time.time()


print(f"CP : N{N} Time:", t2-t1)
print(f"NP : N{N} Time:", t4-t3)

GPU를 사용했을 때, 몇배가 빠르고, CPU가 matrix사이즈에 영향을 많이 받는 반면, GPU는 영향을 거의 받지 않는다. 

'프로그래밍' 카테고리의 다른 글

[백준 1026 ] 보물  (0) 2021.02.07
[백준 1120 ] 문자열 문제 풀이  (0) 2021.02.06
visual studio Code 색깔 바꾸기🦸‍♂️  (0) 2021.01.01
env.yml [파이썬 환경 설정]  (0) 2020.12.16
Github Markdown  (0) 2020.12.15