티스토리 뷰

Tech-Tip

행렬곱 - Xilinx HLS 실험 4

eulia1211 2023. 2. 23. 12:58

이번 실험은 fixed point 연산을 활용한 행렬곱을 진행하여 성능을 평가해본다.

 

#ifdef solution5
typedef float Mat_Dtype;
typedef ap_fixed<22,13> Mat_DtypeOp;
#endif

이전 코드에서 달라지는 부분은 행렬을 저장하는 array의 type만 재정의 하는 것이다. ap_fixed<22,13>이 의미 하는 바는 22비트폭에 정수부분에 13비트, 나머지 9비트를 fractional part로 선언하는 것이다.

 

Fixed point 값을 사용하였을 경우 합성 결과는 다음과 같다.

 

좀더 자세히 보면,

여기서 살펴볼 것은 DSP 사용이 현저히 줄어든 것을 볼 수 있다. 행렬 연산하는 로직 자체도 FF 및 LUT가 크게 줄어든 것을 볼수 있다. 특이한 것은 입력 loop와 출력 loop의 로직이 커졌다는 것이 특이 사항이다. fixed point 에 따른 변환 회로 때문인까?

 

 

이전 결과를 보면,

Unoptimized Version
half type version

역시 성능 평가를 위해 새롭게 만들어진 fixed point 타입의 matmul ip를 vivado 를 이용하여 통합하였다.

 

'Tech-Tip' 카테고리의 다른 글

유클리드 호제법  (0) 2023.05.30
최신 GPU Spec 체크  (0) 2023.05.21
행렬곱 - Xilinx HLS 실험 3  (0) 2023.02.23
행렬곱 - Xilinx HLS 실험 2  (0) 2023.02.22
행렬곱 - Xilinx HLS 실험 1  (1) 2023.02.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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
글 보관함