일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux makefile 작성
- Pyverilog 설치
- gcc 컴파일
- gpgpu-sim
- CLOCK GATING
- 클럭 게이팅
- linux c++ 컴파일
- DNN Accelerator
- pygraphviz 설치 오류
- 대구 반도체 설계기업 특화
- AMBA
- pytest-pythonpath 설치 오류
- 남산업힐
- DNN 가속기
- 이진수 곱셈 알고리즘
- 데이터 해저드
- Pyvrilog tutorial
- Pyverilog 실행
- makefile
- linux c 컴파일
- systolic array
- Makefile compile
- 컨벌루션 연산
- pyverilog 설치 오류
- Data HAzard
- CUDA
- CDC
- Design DNN Accelerator
- Pyverilog 튜토리얼
- 딥러닝 가속기
- Today
- Total
목록컨벌루션 연산 (2)
오늘은 맑음
안녕하세요, 앞서 systolic array를 활용한 NPU에 대해서 이야기를 했었습니다. 오늘은 systolic array를 간단하게 만들어서 컨벌루션 연산을 해보는 실험을 해보겠습니다. 그림 1의 컨벌루션 연산을 수행해 볼 예정입니다. 좌측의 5x3은 입력 데이터이며, 우측의 3x3은 가중치입니다. 따라서 컨벌루션 연산을 하게 되면 총 3개의 output activation이 나오게 됩니다. 차례대로 연산을 하게 되면 output activation은 각각 312, 348, 384가 나오게 됩니다. 위의 연산을 수행하기 위해서는 총 9개의 mac 연산기를 이용해 작은 systolic array를 만들어보겠습니다. 그림 3과 같이 총 9개의 MAC연산기가 있습니다. 각 MAC 연산기에는 처음 weigh..
CNN(Convolutinal Neural Network)에서 주를 이루는 Convolution layer에서 입력 데이터의 크기, 커널의 크기, 패딩, 보폭(stride)가 어떤 상관관계를 갖는지 수식을 통해 알아보자. 기본적인 Convolutoin의 과정은 위와 같다. 1. input feature map와 kernel(filter)가 있고 input feature map과 kernel이 각각 원소 곱 연산을 수행 2. 원소 곱의 결과들을 모두 합산 위의 2단계 과정을 거친 값은 Output feature map의 하나의 값을 이룬다. 이 후 일정 보폭(stride)를 이동하여 다음 값을 구하기 위해 연산을 수행한다. stride를 이용해서 output feature map의 크기를 조절할 수 있다...