일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이진수 곱셈 알고리즘
- systolic array
- Pyvrilog tutorial
- 남산업힐
- gpgpu-sim
- 딥러닝 가속기
- Makefile compile
- Pyverilog 튜토리얼
- 클럭 게이팅
- linux c++ 컴파일
- pygraphviz 설치 오류
- linux makefile 작성
- DNN 가속기
- 데이터 해저드
- CDC
- Pyverilog 실행
- pytest-pythonpath 설치 오류
- Data HAzard
- CLOCK GATING
- linux c 컴파일
- Pyverilog 설치
- CUDA
- DNN Accelerator
- makefile
- 컨벌루션 연산
- Design DNN Accelerator
- 대구 반도체 설계기업 특화
- pyverilog 설치 오류
- AMBA
- gcc 컴파일
- Today
- Total
목록DNN Accelerator (5)
오늘은 맑음
5.5 TECHNIQUES TO REDUCE REUSE DISTANCE 이번 장에서는 5.4장에서 다루었던 reuse distance를 줄이는 방법에 대해 다룹니다. Reuse distance는 temporal reuse와 spatial reuse에 영향을 끼치기 때문에 다양한 방법으로 reuse distance를 조절하여 고정된 hardware에서 서로 다른 layer들을 가장 효율적으로 연산할 필요가 있기 때문입니다. 먼저 data tiling에 대해서 설명합니다. Data tiling이란 큰 데이터를 'tile'이라는 작은 단위로 나누는 것을 의미합니다. Tile단위로 나누게 되면 한 번에 큰 데이터를 한 번에 처리 할 필요 없이 각 tile에 대해서만 처리가 가능해집니다. 5.5장에서는 data ..
5.4 ARCHITEECTUREAL TECHNIQUES FOR EXPLOITING DATA REUSE 5.4.1 Temporal reuse Temporal reuse는 PE에서 같은 데이터를 한 번 이상 사용할 때를 의미합니다. Temporal reuse는 실제로 원본 데이터를 가지고 있는 memory인 Source level보다 더 작은 메모리인 Intermediate level을 사용해서 구현할 수 있습니다. 위의 그림 (d)와 같이 source mem으로 부터 데이터를 Intermediate L1 Mem으로 가져온 후 consumer에서 반복적으로 사용을 하게 되면 지속적으로 Source Mem에 접근할 필요 없이 바로 intermediate L1 Mem에서 데이터를 재사용할 수 있으므로 전체적으로..
5.3 DNN HARDWARE DESIGN CONSIDERATIONS 5.3절에서는 DNN hardware design을 할 때의 고려사항에 대해서 설명합니다. DNN hardware를 design할 때 중요한 점으로는 "최적의 성능(performance, energy efficiency)을 위한 flexible architecture 찾기" 입니다. 여기서 최적의 성능을 위한 flexible architecture를 찾기 위해서는 최적의 "mapping"을 찾아야 합니다. 여기서 "mapping"이란 다음의 의미를 함축한 것으로 생각하시면 됩니다. MAC operation을 temporally, spatially하게 동작 시키고 MAC operation을 어떻게 하면 하나의 PE에서 동일한 데이터를 재..
5.2 KEY PROPERTIES OF DNN TO LEVERAGE 5.2에서는 5.1에서 이야기 한 내용에 이어서 어떻게 하면 DNN의 특성을 이용해서 hardware의 performance와 energy efficiency를 높일 수 있을지에 대해서 설명합니다. 5.1에서는 주로 data locality를 이용하거나, data의 bitwidth를 줄여 전체적인 transfer cost를 낮추는 방법을 이야기 했다면, 5.2에서는 연산기 내부에서 어떻게 하면 data transfer cost를 줄일 수 있을지에 대해서 이야기합니다. DNN의 연산 특성상(예를 들면 convolution layer) 각 convolution 연산 사이에는 data dependancy가 없습니다. 즉, kernel이 str..
천천히 Efficient Processing of Deep Neural Networks라는 Textbook을 읽어볼까 합니다. 저자는 Vivienne Sze, Yu-Hsin Chen, Tien-Ju Yang로, 기존 Eyeriss라는 논문을 저술했습니다. 기존 Efficient Rrocessing of Deep Neural Network라는 survey 논문이 있지만 이 내용을 확장해서 Textbook을 집필한 것 같습니다. 책을 쭉 보게 되면 Eyeriss 논문에서 봤던 내용들과 그림들과 내용들이 보입니다. Part 1에서부터 Part 2의 4강까지는 기존의 Deep Neural Network의 배경 지식(Conv Layer, FC Layer)과 어떻게 하면 효율적으로 Deep Learning algo..