250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MariaDB
- Python
- 데이터베이스
- 장고
- k8s
- 파이토치
- Computer Vision
- 논문 리뷰
- Django
- OpenCV
- 파이썬
- POD
- paper review
- 컴퓨터 비전
- pytorch
- GUI
- FLASK
- vue.js
- Tkinter
- Deep Learning
- Web Programming
- 딥러닝
- 텐서플로우
- yaml
- Docker
- numpy
- 그래픽 유저 인터페이스
- 웹 프로그래밍
- kubernetes
- tensorflow
Archives
- Today
- Total
Maxima's Lab
[Python, GPU Programming] CuPy 란? (vs NumPy) 본문
728x90
SMALL
안녕하세요, 오늘은 CuPy 라이브러리에 대해서 설명하겠습니다.
CuPy는 NumPy와 호환되며, NIVIDIA CUDA GPU에서 실행되는 라이브러리입니다. 이는 NumPy API의 GPU 가속 버전을 제공하여 대규모 수학 연산을 빠르게 수행하며 높은 수준의 병렬 처리를 수행합니다.
아래는 NumPy를 사용한 CPU 버전, 그리고 CuPy를 사용한 GPU 버전에 대한 파이썬 코드입니다.
import numpy as np
import time
# 2개의 행렬 초기화
a_cpu = np.random.rand(2000, 2000).astype(np.float32)
b_cpu = np.random.rand(2000, 2000).astype(np.float32)
for _ in range(0, 10):
# CPU에서 행렬 곱 연산 시간 측정
start_time = time.time()
result_cpu = np.dot(a_cpu, b_cpu)
cpu_time = time.time() - start_time
print(f"CPU Matrix Multiplication Time: {cpu_time} seconds")
import cupy as cp
import time
# 2개의 행렬 초기화
a_gpu = cp.random.rand(2000, 2000).astype(cp.float32)
b_gpu = cp.random.rand(2000, 2000).astype(cp.float32)
for _ in range(0, 10):
# GPU에서 행렬의 곱 연산 시간 측정
start_time = time.time()
result_gpu = cp.dot(a_gpu, b_gpu)
cp.cuda.Stream.null.synchronize()
gpu_time = time.time() - start_time
print(f"GPU Matrix Multiplication Time: {gpu_time} seconds")
이상으로, CuPy에 대해서 알아보고 해당 라이브러리를 사용한 간단한 예제에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
Comments