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

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..

C언어에서 실행파일에 argument를 전달할 때에는 argc, argv를 이용합니다. Python 역시 argument를 전달해서 동작을 수행해야 하는데 그 방법 중 하나로 argparse를 알아보겠습니다. argparse는 import argparse를 통해 사용할 수 있습니다. 파서 만들기 argparse를 import했다면 parser를 만들어주어야 합니다. parser를 만드는 방법으로는 argparse의 ArgumentParser를 이용합니다. ex) parser = argparse.ArgumentParser() Argument Description Default prog 프로그램의 이름 sys.argv[0] usage 프로그램 사용법 파서에 추가된 인자로부터 만들어지는 값 descriptio..

20인치 휠의 자전거의 대표적인 휠 사이즈인 406과 451의 차이점을 알아보고자 합니다. 어떤 자전거는 406, 어떤 자전거는 451 휠이라고 표기되어 있습니다. 일단 20인치 휠이라고 하면 림의 지름과 타이어의 폭을 합쳤을 때 20인치가 되는 휠을 의미합니다. 그러면 왜 406과 451로 나뉘는 걸까요? 406 406 휠을 장착한 다혼 스피드 D8입니다. 406은 림의 사이즈입니다. 위의 빨간 화살표의 사이즈가 40.6센치미터라서 406이라고 부릅니다. 406휠의 림 지름은 약 16인치입니다. 즉, 20인치 휠이 되려면 약 2인치 폭의 타이어를 껴야 위 아래로 4인치가 더해져 최종 20인치 휠이 됩니다. 451 첫 자전거였던 아팔란치아 R2000입니다. 아팔란치아 R2000은 451 휠을 사용합니다...

이번에는 이미 적혀있는 파일을 읽어서 수정을 해보겠습니다. 읽을 파일은 이전에 사용했던 Hello Python! Let's learn Python 으로 하겠습니다. 먼저 파일을 string으로 읽고 char단위로 잘라서 list로 반환해보겠습니다. memo.txt를 읽어 read()함수를 이용해서 string으로 반환합니다. 이 memo를 list()함수를 사용해서 char단위로 list를 만들어 반환합니다. 출력해보면 아래와 같습니다. 이제 기본적으로 파일을 읽어서 수정할 준비가 되었습니다. 그럼 하나하나 읽어서 Python이라는 단어를 Verilog HDL로 변경해보겠습니다. 먼저 special keyword를 정의해줍니다. special keyword란 단어를 제외한 나머지를 의미합니다. 예를 들면..

Python으로 폴더 내부의 파일에 접근해보겠습니다. 이번에 사용할 함수는 아래와 같습니다. 함수명 동작 os.isdir('path') path 내의 모든 폴더와 파일을 list형태로 반환 os.path.isdir('path') path가 directory라면 True를 반환. 아니라면 False를 반환 os.path는 폴더/파일의 경로를 다룰 때 주로 사용합니다. 더 많은 함수는 아래의 링크를 참조하시기 바랍니다. main함수는 탐색할 top 폴더의 경로를 가진 top_path를 설정해주고 search_file에서 top_path를 전달합니다. search_file은 path내의 모든 경로를 list로 반환받습니다. 그리고 list의 인자를 확인해서 directory라면 다시 search_file을 수..