프로젝트 13

[프로젝트 진행 상황 v10.19] HyGCN과 Ramulator

현재 팀장으로서 GCN 가속기 설계 프로젝트를 진행하고 있습니다. 11월 21일까지 ACM/IEEE DAC(Design Automation Conference)에 투고할 논문을 작성하는 것이 목표입니다. 어쩌다 보니 시간이 한 달 남았는데, 잘할 수 있겠죠..? 교수님 말로는 DAC 정도 수준의 학회에 논문을 낸다면 인더스트리에서든 아카데미아에서든 절대 무시당하지 않을 거라고 합니다. 아직 감은 오지 않지만 이 정도로 동기부여를 받고 열심히 해보려고 합니다. 제가 쳐내야 할 일들과 저희 조가 쳐내야 할 일들을 정리해보면 다음과 같습니다. 1. 내가 쳐내야 할 일 1.1 Ramulator Setting 1.2 HyGCN의 Combination engine RTL design, synthesis, STA 1..

[GEM5] gem5 environment setting

본 게시글은 GEM5 환경설정 및 설치 과정을 정리한 글입니다. 이번 GNN(정확히는 GCN) accelerator 설계의 최종 목표는 DAC이라는 conference에 논문을 쓰는 것입니다!! 논문을 쓰는 과정에서 architecture level simulation을 할 필요가 있습니다. 저희가 제안한 architecture을 cycle-driven or event-driven으로 simulation 해서 저희가 의도한 대로 동작하는지 확인해야 합니다. Computer architecture 분야 논문에서 주로 GEM5와 Ramulator가 사용되는데, 본 게시글에서는 GEM5에 대한 환경설정 과정을 다뤄보겠습니다. https://www.gem5.org/getting_started/ gem5: Get..

[2021 ISCAS] Characterizing the Communication Requirements of GNN Accelerators : A Model-Based Approach

* 해당 게시글의 모든 그림과 일부 내용은 논문 본문에서 발췌했습니다. 기존에 연구된 GNN accelerator을 조사하기 위해 논문을 리뷰합니다. 2021년에 ISCAS(IEEE International Symposium on Circuits and Systems)에 출판된 논문입니다. 신기하게도 이 논문이 발표된 Conference가 대구 인터불고 호텔에서 열렸다고 합니다. 제가 사는 지역에서 Conference가 열렸다니 신기하네요. 1. Abstract & Introduction 본 논문에 따르면 [1] 여러 GNN algorithm을 지원하는 accelerator가 연구되었지만 Thoughput, energy consumption과 같은 지표들만 확인했고 accelerator 내부의 data ..

[GNN Accelerator] PyTorch 설치 및 구성(tmp)

PyTorch를 사용하는 이유 이전 게시글에서 서술했던 연구를 진행함에 앞서 GNN을 SW level에서 테스트할 필요가 있습니다. 우선 SW level에서 안정적인 동작을 확인하고, 해당 동작이 HW level에서 어떤 instruction으로 이루어 져있는지 확인해야 합니다. 그리고 SW 동작의 큰 부분을 차지하는 instruction의 연산 방식을 조사해서 Accelerator를 설계하는 것이 연구의 목표입니다. 쓰고나니 말은 쉽네요:) 일단 GNN을 SW level에서 동작시켜야 하므로 PyTorch 개발환경이 필요합니다. Anaconda 저는 Microsoft Pytorch 컴퓨터에 PyTorch 설치 및 구성 Windows ML 데이터 분석에 사용할 수 있도록 컴퓨터에 Pytorch 설치 및 ..

[GNN Accelerator] Project overview

GNN(Graph Neural Network) 전자공학종합설계 과목에서 진행 중인 프로젝트에서 GNN accelerator 설계라는 새로운 방향이 생겼습니다. 기존에 GPGPU 설계를 목표로 프로젝트를 수행하고 있었는데, 제가 GNN 관련 논문을 보고 제시했던 연구 방향에 따라 프로젝트 주제가 바뀌었습니다. 아직 GNN 관련 이론은 거의 아는 게 없어서 추후에 게시글로 작성해볼 계획입니다. 다음 게시물이 GNN을 이해하는데 도움이 많이 될 것 같습니다. An Introduction to Graph Neural Network(GNN) An Introduction to Graph Neural Network(GNN) For Analysing Structured Data Understand What GNN Is..

[SoC 설계 및 프로그래밍] 텀프로젝트 후기

Chess_SoC 수강정보 : ITEC0412-001/SoC 설계 및 프로그래밍/문병인 교수님 SoC 설계 및 프로그래밍 강의를 수강하면서 진행한 텀프로젝트를 정리하여 공유한 포트폴리오입니다. Github reposotory GitHub - Kim-Jiwan/Chess_SoC Contribute to Kim-Jiwan/Chess_SoC development by creating an account on GitHub. github.com 1. 프로젝트 개요 본 강의에서 학습한 verilog HDL, C 프로그래밍, FPGA 및 xilinx vivado를 사용하여 제작한 프로젝트입니다. 사용한 HW는 7segment, text lcd, TFT lcd(4.3inch), pushbutton 입니다. 본 repo..

[SoC 설계 및 프로그래밍] 텀프로젝트 현황

이번 학기에 수강중인 경북대학교 SoC 설계 및 프로그래밍 과목에서 진행중인 프로젝트에 관한 게시글입니다. 전문가가 아닌 사람이 작성하였고, 강의를 들으며 작성한 게시글이라 사실이 아닌 정보가 있을 수 있습니다. 한 달 전부터 Zynq-7000 이라는 SoC 보드를 사용해서 저포함 3명의 조원과 텀프로젝트를 진행하고 있습니다. 결과 발표를 약 1주일 남긴 현재 텀프로젝트 진행상황과 고쳐야 할 점에 대해 적어보려고 합니다. 이렇게 생긴 보드(Zynq-7000)를 사용해서 텀프로젝트를 진행중입니다. 꽤나 투박하게 생겼지만, 이 보드하나에 500만원 정도 한다고 합니다.. 대략적인 스펙으로는 ARM Cortex A9이라는 CPU가 탑재되어있고, 4.3인치 TFT LCD가 탑재되어 있습니다. 그리고 text l..

[전자공학종합설계] 3. 16bit MIPS single-cycle CPU design

오랜만에 게시글을 작성하네요. RTL 소스코드는 깃허브에 올려두었습니다. 블로그에 올리기에는 코드가 길어서 링크로 남깁니다. https://github.com/Kim-Jiwan/16bit_MIPS_CPU GitHub - Kim-Jiwan/16bit_MIPS_CPU Contribute to Kim-Jiwan/16bit_MIPS_CPU development by creating an account on GitHub. github.com 3월 22일 화요일 전자공학종합설계(이하 전프) 미팅 때 2주 동안 16bit MIPS를 RTL로 짜오라는 미션을 받았습니다. 사실 이 과제는 3학년 1학기 논리회로설계 과목의 final assignment입니다. 앞으로 1년 동안 프로세서 설계를 해나갈 건데 가장 기본인 1..

[전자공학종합설계] 2. RISC-V pipelined CPU implemented in verilog HDL

전자공학종합설계의 3번째 포스팅입니다. 아직 미완이라 일단 소스코드만 올려놓음.. 내일 글로 정리하겠습니다. `define INST_SIZE 32 `define ADDR_SIZE 64 module CPU ( input clk ,rst ); // IF stage wire [`INST_SIZE-1:0] Instruction; // output of IF/ID wire [`ADDR_SIZE-1:0] IF_stage_PC; wire [`ADDR_SIZE-1:0] IF_stage_PC_p_4; wire [`ADDR_SIZE-1:0] IF_stage_PC_p_offset; // ID stage wire [2:0] ID_stage_EX_control_sig; wire [2:0] ID_stage_MEM_control_..