일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pytest-pythonpath 설치 오류
- gpgpu-sim
- 이진수 곱셈 알고리즘
- AMBA
- pyverilog 설치 오류
- 남산업힐
- pygraphviz 설치 오류
- Data HAzard
- 컨벌루션 연산
- Makefile compile
- linux c 컴파일
- gcc 컴파일
- CLOCK GATING
- 클럭 게이팅
- Pyverilog 실행
- DNN 가속기
- systolic array
- Pyvrilog tutorial
- Pyverilog 설치
- 딥러닝 가속기
- CUDA
- Design DNN Accelerator
- CDC
- 대구 반도체 설계기업 특화
- makefile
- linux c++ 컴파일
- 데이터 해저드
- Pyverilog 튜토리얼
- DNN Accelerator
- linux makefile 작성
- Today
- Total
목록분류 전체보기 (227)
오늘은 맑음
https://www.calvin.edu/~rpruim/courses/s341/S17/from-class/MathinRmd.html
High Speed Multiplication 곱셈 알고리즘을 더욱 빨리 수행하고 더욱 적은 자원을 사용해서 연산하는 방법에 대해 알아보자. multiplicand(피승수/A) x multiplier(승수/X) = product(결과물/U)를 연산할 때 parital product는 X에 존재하는 1의 개수만큼 반복된다. 이 과정에서 많은 시간이 소비되며 중간의 partial product를 구성하기 위해 많은 register가 사용된다. 따라서 위의 단점을 극복하기 위해 나온 연산방법이 Booth's algorithm이다. 만약 X가 15인 경우 1111로 표기되며 덧셈 연산을 4번 반복해야한다. 하지만 다음과 같이 표기하게 되면 어떻게 될까 1111 = 1_0000 - 0_0001 15 = 16 - ..
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의 크기를 조절할 수 있다...
Autoencoder에서 encoding을 통해 feature를 추출하였다면 그 다음은 추출된 feature를 기반으로 다시 decoding을 하여 원래 이미지의 사이즈를 거치는 과정을 갖는다. decoding과정에서 다시 feature map의 사이즈를 키우는 과정을 Upsampling이라고 하는데 대표적으로 두 가지 방법이 있다. 1. max pooling 2. convolution transpose max pooling을 이용한 Upsampling은 과정이 convolution tanspose에 비해 단순하지만 전체적인 성능을 보자면 convolution연산을 거쳐 한번 더 feature를 추출해내서 Upsampling을 거치는 convolutoin transpose가 더 뛰어나기 때문에 최근에 주..
이진수 수의 표현 소수점 자리수를 표현하는 방법 1장에서 언급했듯이 어떠한 n비트의 양수 X는 다음과 같이 표현될 수 있다. $$X = \sum_{i=0}^{n-1} x_{i}r_{i}$$ 여기서 r은 radix(기수)이다. 위는 양수를 표현하는 방법이므로 소수점을 가진 양의 실수를 표현하기 위해서는 n비트를 정수부(integral part)와 실수부(fractional part)로 나누어야 한다. n digit을 갖는 어떠한 수를 k digit을 갖는 정수부(integral part)와 m digit을 갖는 실수부(fractional part)로 나누면 다음과 같이 표현된다. $$(x_{k-1}, x_{k-2}, ... , x_{1}, x_{0} · x_{-1}, x_{-2}, ... , x_{-m})..
이진수 수의 표현 우리가 익히 알고있는 이진수(binary)란 0과 1로 표현된 수를 의미합니다. 어떠한 n이라는 길이를 가진 이진수(binary)를 표현하게 되면 다음과 같습니다. $$(x_{n-1}, x_{n-2}, ... , x_{1}, x_{0})$$ 각각의 자리수(digit)은 0과 1로 표현되며 위의 수를 정수(integer)형태로 표현하면 다음과 같습니다. $$X = x_{n-1}2^{n-1} + x_{n-2}2^{n-2} + ... + x_{1}2 + x_{0} = \sum_{i=0}^{n-1} x_{i}2^{i}$$ 이진수(binary)의 i번째 자리수$x_{i}$의 비중(weight)는 기수(radix)의 i승의 값을 의미합니다. 우리가 실생활에서 사용하는 10진수 표현법과 동일하지만 ..