일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 양자역학의공준
- Qubit
- sycl
- deep_learning
- 반도체
- SpMM
- CUDA
- CuDNN
- FPGA
- flash_memory
- dnn
- DRAM
- POD
- cloud
- quantum_computing
- C++
- 쿠버네티스
- jhVM
- Semiconductor
- 딥러닝
- 클라우드
- jhDNN
- convolution
- GPU
- 반도체기초
- Compression
- HA
- stl
- kubernetes
- nvidia
- Today
- Total
목록가속기 Accelerator/GPU (5)
Computing
cuDNN cuDNN 8.0 부터 도입된 cuDNN backend API는 network 생성과 execution을 분리하여 성능상의 이점을 가져온다. 프로그래머는 코드 상에서 미리 deep learning primitives들의 graph(network)를 선언한다. 빌드 과정에서 graph는 최적화되며, 주로 operation fusion을 예로 든다. 컴파일 단계에서 operation(kernel)들을 하나의 operation로 만들어 최적화하는 기법인데 kernel launch overhead를 줄일 수 있을 뿐만 아니라, 불필요한 메모리 I/O도 줄일 수 있다. 이러한 cuDNN backend API는 CUDA Graphs를 기반으로 만들어졌다고 한다. 이번 포스터에서는 [1], [2], [3]..
GPU 프로그램이 빠른 이유 GPU는 대표적인 manycore processor들 중 하나[1]로, 4개 혹은 8개의 core를 가지는 일반 CPU와는 다르게 수 천개의 core를 가지고 있다. 이렇게 많은 core를 이용하여 각 데이터를 독립적으로 계산하는 data parallellim을 달성한다. Fig 1.는 CPU와 GPU의 하드웨어 디자인 방향이 어떻게 다른 지를 보여준다. 초록색 영역은 ALU (arithmetic logic unit)으로 실제 계산이 이뤄지는 영역이며, 각 ALU(초록 박스 하나하나)는 독립적으로 instruction stream(thread)을 계산할 수 있다.. 노란색 영역은 Control logic 영역으로 명령어를 해석하고 instruction 실행 최적화를 계산한다...
cuBLAS 소개 cuBLAS[1]는 NVIDIA CUDA runtime에서 돌아가는 BLAS를 구현한 library이다. BLAS는 Basic Linear Algebra Subprograms의 약자로 일반적으로 많이 사용되는 선형 대수의 식을 정리한 스펙(speification)[2]이다. Vector-vector 연산, Matrix-vector 연산 Matrix-matrix 연산 등의 많이 사용되는 선형 대수를 표준화한 것으로 입출력과 루틴을 정의해놓았다. BLAS 스펙을 구현한 예로는 cuBLAS(NVIDIA), Intel MKL(Intel), clBLAS(Open source), OpenBLAS(Open source) 등이 있는데, 선형 대수는 많은 애플리케이션에서 사용되기에 많은 accelera..
이전 포스터 https://computing-jhson.tistory.com/15 CUDA PTX - 1 : Introduction PTX (or PTX ISA) 이 포스트는 CUDA PTX (Parallel Thread Execution)에 대하여 정리한다. 다음 자료[1]를 참고하였다. CUDA PTX는 a low-level parallel thread execution virtual machine and instruction set a.. computing-jhson.tistory.com Inline PTX Assembly 저번 포스터에서 간단하게 PTX에 대해 소개하였다면, 이번 포스터에서는 NVIDIA Inline PTX Assembly 공식문서[1]를 정리해보고자 한다. NVIDIA는 PTX ..
PTX (or PTX ISA) 이 포스트는 CUDA PTX (Parallel Thread Execution)에 대하여 정리한다. 다음 자료[1]를 참고하였다. CUDA PTX는 a low-level parallel thread execution virtual machine and instruction set architecture (ISA)를 의미한다. .cu file을 컴파일 해서 나오는 GPU를 작동 시키는 ISA라고 생각할 수 있다. nvcc는 CUDA kernel code를 PTX instruction으로 컴파일한다. 컴파일된 PTX instruction은 GPU driver 내에 있는 또 다른 compiler에 의해 binary code로 번역되어 GPU를 작동시킨다. ISA를 공개한다는 것은 ..