일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CDC
- gcc 컴파일
- CLOCK GATING
- CUDA
- Pyverilog 설치
- DNN Accelerator
- 남산업힐
- Data HAzard
- 클럭 게이팅
- makefile
- linux c 컴파일
- DNN 가속기
- linux c++ 컴파일
- 컨벌루션 연산
- Makefile compile
- linux makefile 작성
- systolic array
- 딥러닝 가속기
- Pyvrilog tutorial
- 대구 반도체 설계기업 특화
- pyverilog 설치 오류
- pytest-pythonpath 설치 오류
- 이진수 곱셈 알고리즘
- 데이터 해저드
- gpgpu-sim
- pygraphviz 설치 오류
- Pyverilog 실행
- Pyverilog 튜토리얼
- AMBA
- Design DNN Accelerator
- Today
- Total
목록분류 전체보기 (227)
오늘은 맑음
Makefile 사용해서 compile하기 makefile을 이용해서 compile을 해보겠습니다. 프로젝트 파일은 정적 라이브러리 사용하기에서 사용했던 프로젝트를 그대로 사용하겠습니다. makefile 작성은 다음과 같습니다. makefile을 사용하면 같은 명령어를 여러번 사용하는 불편함을 없앨 수 있다. -L는 라이브러리의 위치를 지정해주는 명령어이다. ./를 사용하여 현재 디렉토리를 지정해 주었다. -l은 라이브러리를 지정해주는데 -lstatic을 사용하여 아래줄에서 만든 libstatic.a 파일을 라이브러리로 지정해주었다. hello.o : hello.cpp greeting.h : 뒤는 만약 파일들이 수정된다면 아래의 명령어를 수행해야 한다는 것을 의미한다. clean은 make clean명령..
Linux 정적 라이브러리 사용이전 시간에는 hello.cpp 프로젝트를 compile해 보았습니다. 하나의 프로젝트를 compile해 보았는데, 실제로는 하나의 프로젝트만 사용하진 않죠? 그래서 이번시간에는 라이브러리를 사용해 보겠습니다. 정적 라이브러리란 동작을 위한 모든 코드가 실행 바이너리 안에 존재하는 것을 의미합니다. 테스트 해 보기 위해 다음과 같은 프로젝트들을 만들겠습니다. #hello.cpp #goodbye.cpp #greeting.h #main.cpp 위와 같이 2개의 함수를 갖는 cpp파일과 이 함수를 정의한 헤더파일, 그리고 함수를 동작시키는 main프로젝트로 나뉘었습니다. 2개의 함수는 각각 main프로젝트에서 include되어 호출될 수 있습니다. 이제 compile을 해볼까요?..
리눅스에서 c++ 프로젝트를 만들어 컴파일 하기 linux중 가장 많이 알려진 버전인 우분투(Ubuntu)버전에서 c++ 프로젝트를 만들어 컴파일 해 보겠습니다. 먼저 g++을 설치해 주세요 sudo apt-get install g++ 위의 명령어를 입력해 주시면 됩니다. 이제 vi 에디터나 vim을 이용해서 프로젝트를 만들어줍니다. 저는 visual studio에서도 사용하는 기본 프로젝트인 hello world를 출력하는 프로젝트를 만들어보겠습니다. #hello.cpp #include using namespace std; int main(){ cout
최근 몇 년간 deep learning에 대한 연구가 활발해 지고 있습니다. 일반적인 deep learning 연구는 GPU(Graphic Processing Unit)에서 이루어 지고 있습니다. Deep learning은 반복적이고 단순한 연산을 반복하는 작업이 많음으로 수많은 core를 가진 GPU를 이용한 병렬처리로 인해 CPU를 통해 연산할 때 보다 비교할 수 없을 정도로 빠른 속도로 연산이 가능해 Deep learning을 연구하는데 최적이라고 할 수 있습니다. GPU를 이용한 연구가 활발해지고 있는 반면에, FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)을 이용한 연구도 진행되고 있습니다. ..
folder내부에 있는 file을 모두 읽어 renaming하기folder 내부에 있는 file을 모두 읽어 renaming하는 방법을 알아보겠습니다. 이 프로젝트를 작년에 이미지 처리를 위해 사용을 했었습니다. 필요한 이미지를 크롤링해 모아놓으니 이름이 모두 제각각이었습니다. 저는 일정한 이름, label과 index도 있어야 했기 때문에 많은 이미지들의 이름을 바꿔줄 필요가 있었습니다. 필요하신분들은 다음 코드를 따라하시면 될 것 같습니다. 변수 이름이 지저분하니 필요하신대로 바꿔 사용하시면 될 것 같습니다 :) #include #include #include #include #include using namespace std; int main(){ //renaming하고 싶은 데이터가 들어있는 폴더..
Reservation stationdata hazard를 피할 수 있는 방법중에 scoreboarding과 reservation station이 있다.scoreboarding은 이전 포스팅에서 알아보았으므로 이번엔 reservation station에 대해서 알아보자. Reservation Station : reservation station은 CPU가 사용한 레지스터를 연산이 종료된 즉시 가져와 저장하는 버퍼다. 결과값을 register에 write하지 않고 reservation station에 저장함으로써 WAR, WAW hazard를 방지할 수 있다. 명령어가 발행되어 operand와 함께 실행되어 나온 결과는 reservation station에 저장된다. 이 후 같은 register에 대한 wr..