일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FPGA
- GPU
- jhDNN
- Semiconductor
- 딥러닝
- 양자역학의공준
- cloud
- convolution
- 반도체기초
- CuDNN
- CUDA
- SpMM
- kubernetes
- 반도체
- DRAM
- 클라우드
- Qubit
- HA
- flash_memory
- stl
- C++
- POD
- jhVM
- 쿠버네티스
- dnn
- Compression
- nvidia
- sycl
- deep_learning
- quantum_computing
- Today
- Total
목록분류 전체보기 (143)
Computing
앞선 포스터에서 cuDNN에 대한 개략적인 설명 및 설치 방법에 대하여 소개하였다. jhDNN - 1 : cuDNN 소개 및 설치 (Ubuntu 18.04) cuDNN cuDNN은 NVIDIA CUDA® Deep Neural Network (cuDNN) library로, 딥러닝 네트워크에서 자주 사용되는 primitives(ex, CNN, RNN, pooling, softmax, etc.)를 NVIDIA GPU를 이용해 가속화하여 제공하는 librar.. computing-jhson.tistory.com 오늘 포스터에서는 간단한 cuDNN convolution forward 예제를 바탕으로 cuDNN 프로그래밍 모델에 대해서 정리하고자 한다. [1], [2], [3]을 참고하여 정리하였다. cuDNN P..

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을..

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]..

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에 대하..

Collective communication Collective operations, inter-process communication이라고도 하는데, multiple processes가 모두가 참여하는 통신(데이터를 전달) 패턴[1]을 의미한다. 즉 n개의 process가 있을 때, 1:1로 데이터를 전송하는 것이 아닌 하나의 데이터를 n개의 processes에게 나눠주거나 n개의 processes의 데이터를 하나로 모으는, 집단이 참여하는 기본 통신 패턴을 의미한다. SPMD 프로그램(data parallelism을 활용하는 프로그램)에서는 한 문제를 여러 개의 process가 나눠서 해결한다. 예를 들어, 한 덩어리의 데이터를 n개의 process에게 나눠주거나, 문제를 푸는 과정에서 서로 간에 데..

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 속 데이터를 병렬로 접근할 수 있도록 하기 위해서 이다. 오늘은 이..

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 실행 최적화를 계산한다...

Deep Learning Challenge 딥러닝 기술이 점점 더 어려운 문제를 해결하기 위해 사용하면서 딥러닝 네트워크의 크기가 매우 커지고 있다. 이번 포스터는 딥러닝 네트워크가 커지면서 발생하는 문제점들과 그 문제를 해결하기 위한 방법을 [1], [2], [3] 자료를 바탕으로 정리하고자 한다. 딥러닝 네트워크는 방대한 양의 parameters을 사용하면서 parameter들이 데이터의 특징을 학습하도록 한다. 딥러닝 기술을 더 복잡한 데이터의 특징을 학습하도록 하기 위해서 점점 더 많은 parameters가 사용되는 딥러닝 네트워크 구조가 제안되고 있다. 이때 어떤 문제를 충분히 잘 해결하는 최적의 딥러닝 네트워크를 찾는 것은 매우 힘들다(애초에 불가능할 수도 있다). 어떤 네트워크가 많은 수의 ..