- GPU
- 연산 (ALU) 고속 병렬 처리
- CPU 처럼 다른 구성요소 제어 기능 필요 없음
- GPGPU
- 단순 그래픽 처리만 하는 GPU 가 아닌, 병렬 연산 기능까지 수행하는 General purpose GPU
- 최근에는 GPGPU 도 GPU 라 칭함
- CUDA (Compute unified device architecture)
- GPU 병렬계산 C/C++ 프로그래밍 지원 소프트웨어
- CUDA 진행 방식
1. 데이터를 main memory 에서 GPU memory 로 이동
2. GPU 는 CPU 가 명령한 연산처리 병렬 수행
3. 연산 종료 시 GPU memory 에 결과 저장한 다음, main memory 에 결과물 업로드하고,
CPU 가 main memory 접근하여 작업 마무리
- CUDA 는 CPU, GPU 코드를 조합해서 코딩함. NVCC (Nvidia CUDA Compiler) 컴파일러를 통해 CPU 수행 코드
(.c , .Cpp) 와 GPU 수행 코드 (.cu) 를 분리하여 컴파일
그 다음 Linker 로 하나의 실행 파일 (binary file) 이 되어 CPU 에서는 serial code, GPU 에서는 parallel code 로 순차 실행
- cuDNN (CUDA Deen neural network)
*하드웨어 가속 : 컴퓨터 일부 기능을 CPU 에서 구동하는 소프트웨어 방식보다 더 빠르게 수행 할 수 있는 하드웨어 사용
ex : GPU 블리팅 가속
- 딥러닝 관련 연산을 빠르게 해줄 수 있도록 도와주는 라이브러리
- GPU-accelerated library of primitives for dnn
- cuDNN provides highly tuned implementations for standard routines such as forward/backward conv/pooling/normalization/active layer
- cuDNN accelerates DL frameworks including Caffe2, Keras, MATLAB, MxNet, Pytorch, Tensorflow
출처 :
1. https://89douner.tistory.com/158
2. kaen2891.tistory.com/20
3. https://blog.naver.com/hs929kr/222368689735
'ML, DL > 딥러닝 기초' 카테고리의 다른 글
OOD (out of distribution detection) (1) | 2022.10.08 |
---|---|
검색 키워드 정리 (0) | 2022.10.08 |
Batch norm, layer norm, instance norm, group norm (0) | 2022.08.09 |
Feedforward Network (0) | 2022.08.03 |