일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Pyverilog 튜토리얼
- Pyverilog 실행
- pytest-pythonpath 설치 오류
- CLOCK GATING
- 딥러닝 가속기
- Pyverilog 설치
- 대구 반도체 설계기업 특화
- linux makefile 작성
- 이진수 곱셈 알고리즘
- gpgpu-sim
- systolic array
- Makefile compile
- gcc 컴파일
- linux c++ 컴파일
- 남산업힐
- pyverilog 설치 오류
- 컨벌루션 연산
- 데이터 해저드
- 클럭 게이팅
- CDC
- makefile
- DNN 가속기
- Data HAzard
- AMBA
- DNN Accelerator
- Design DNN Accelerator
- linux c 컴파일
- CUDA
- pygraphviz 설치 오류
- Pyvrilog tutorial
- Today
- Total
목록딥러닝 가속기 (4)
오늘은 맑음
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..