일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nvidia
- CuDNN
- SpMM
- sycl
- kubernetes
- Semiconductor
- Compression
- POD
- deep_learning
- 양자역학의공준
- jhDNN
- DRAM
- FPGA
- 딥러닝
- 쿠버네티스
- cloud
- 클라우드
- 반도체기초
- convolution
- GPU
- stl
- jhVM
- Qubit
- dnn
- CUDA
- flash_memory
- HA
- 반도체
- C++
- quantum_computing
- Today
- Total
목록전체 글 (142)
Computing
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ceWh3l/btrzNCdLzFt/hJ6wuJ0hvXZkKjjoWzoA5k/img.png)
cuDNN cuDNN은 NVIDIA CUDA® Deep Neural Network (cuDNN) library로, 딥러닝 네트워크에서 자주 사용되는 primitives(ex, CNN, RNN, pooling, softmax, etc.)를 NVIDIA GPU를 이용해 가속화하여 제공하는 library이다. Forward routines 뿐만 아니라 backward functions도 제공하기에 많은 딥러닝 프레임워크에서 NVIDIA GPU + cuDNN library 조합을 사용하여 딥러닝 학습 및 추론 가속을 지원한다. Caffe2, Chainer, Keras, MATLAB, MxNet, PyTorch, Tensorflow 등 메인 딥러닝 프레임워크는 모두, NVIDIA GPU를 사용할 경우 cuDNN을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p91eP/btrzItHNPx3/FS1xjJQGVZYTTuHMxeykL0/img.png)
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]..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uoAZB/btryxsjJJct/F0S8KKgpGJCWWkDkWA9NO0/img.png)
2022.03.28 - [가속기 Accelerator/Quantum Computing] - 양자컴퓨팅 - 1 : Qubit & Gate 이 자료는 김태현 교수님의 양자 컴퓨팅 및 정보의 기초 강의를 바탕으로 정리하였습니다. Two Qubits Gate 양자컴퓨팅 : Qubit & Gate Qubit 양자 정보를 담는 최소 단위로, 양자 컴퓨터로 계산할 때의 기본 단위[1]이다. 일반 컴퓨터에서 bit를 이용하여 정보를 표현하듯, 양자 컴퓨터에서는 qubit을 이용하여 정보를 표현한다. Bit는 0 computing-jhson.tistory.com 앞서 qubit과 single qubit을 입력으로 받는 gate들에 대하여 정리하였다. 오늘 qubit 입력을 두개를 받는 two qubits gate에 대하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4phSj/btryqi70521/RRN7MnbIdVITTpdKYGZnq1/img.gif)
Collective communication Collective operations, inter-process communication이라고도 하는데, multiple processes가 모두가 참여하는 통신(데이터를 전달) 패턴[1]을 의미한다. 즉 n개의 process가 있을 때, 1:1로 데이터를 전송하는 것이 아닌 하나의 데이터를 n개의 processes에게 나눠주거나 n개의 processes의 데이터를 하나로 모으는, 집단이 참여하는 기본 통신 패턴을 의미한다. SPMD 프로그램(data parallelism을 활용하는 프로그램)에서는 한 문제를 여러 개의 process가 나눠서 해결한다. 예를 들어, 한 덩어리의 데이터를 n개의 process에게 나눠주거나, 문제를 푸는 과정에서 서로 간에 데..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLYLdq/btrx5BlTBJS/VU5xypcBYOKLEdrrKLI9ck/img.png)
DRAM Memory System Organization 2022.03.27 - [Semiconductor/메모리반도체] - DRAM Memory Organization - 1 : 소개 이전 포스터에서 DRAM memory system의 구성에 대해서 알아 보았다. Fig 1.은 DRAM memory system을 요약한 것이다. 그림에서 보듯 DRAM system은 Channel-DIMM-Rank-Chip-Bank-Array의 순서로 hierarchically 구성된다. 이렇게 복잡한 계층 구조를 가지고 설계된 이유는 memory wall (CPU와 메인 메모리 간의 데이터 전송 병목에 의한 성능 향상 한계)를 극복하기 위해, DRAM 속 데이터를 병렬로 접근할 수 있도록 하기 위해서 이다. 오늘은 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PKdLs/btrx2SIhslN/4FVXAvVZs1L2Lnz012ck70/img.png)
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 실행 최적화를 계산한다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OJxnV/btrx8NmufGF/GnxjGhVKUIryogvOS0C0c1/img.png)
Deep Learning Challenge 딥러닝 기술이 점점 더 어려운 문제를 해결하기 위해 사용하면서 딥러닝 네트워크의 크기가 매우 커지고 있다. 이번 포스터는 딥러닝 네트워크가 커지면서 발생하는 문제점들과 그 문제를 해결하기 위한 방법을 [1], [2], [3] 자료를 바탕으로 정리하고자 한다. 딥러닝 네트워크는 방대한 양의 parameters을 사용하면서 parameter들이 데이터의 특징을 학습하도록 한다. 딥러닝 기술을 더 복잡한 데이터의 특징을 학습하도록 하기 위해서 점점 더 많은 parameters가 사용되는 딥러닝 네트워크 구조가 제안되고 있다. 이때 어떤 문제를 충분히 잘 해결하는 최적의 딥러닝 네트워크를 찾는 것은 매우 힘들다(애초에 불가능할 수도 있다). 어떤 네트워크가 많은 수의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byvmbI/btrxLkMV17U/rIaDUsBntxTKO5txRn3R21/img.png)
Compressed Sparse Row Format SpMM - 2 : Sparse Matrix Representation 이전 포스터에서 sparse matrix가 무엇인지를 정의하고 왜 필요한지를 알아보았다. SpMM - 1 : Introduction Sparse Matrix Multiplication Matrix multiplication은 우리가 흔히 아는 다음 그림과 같은 행렬곱.. computing-jhson.tistory.com 저번 포스팅을 통해 sparse matrix를 저장하기 위한 다양한 형식을 배웠으며, 오늘은 CSR, Compressed Sparse Row format을 어떻게 구현하는 지에 대하여 정리할 것이다. 특히 [1]를 참고하여, GPU 디바이스를 통한 CSR 변환 가속화..