LAB/GEM5

GEM5, NVMain 설치

RyoTTa 2021. 3. 16. 21:11
반응형

1. GEM5 설치

 

GEM5는 이전에 설치한 방법과 같이 설치하도록한다. 대신 NVMain에서 지원하는 GEM5를 설치하고자 한다.

 

$ yum groups mark install "Development Tools"
$ yum groups mark install "Development Tools"
$ yum groups mark convert "Development Tools"
$ yum group install "Development Tools"
$ yum install mercurial zlib-devel

$ git clone https://github.com/cyjseagull/gem5-nvmain-hybrid-simulator
$ cd gem5-stable
$ scons build/X86/gem5.opt -j40

(gcc version >= 5, Python 2.7 or Python 3, Anaconda 환경에서는 에러를 출력함)

 

(scons build/{ISA}/gem5.{variant} -j {cpus})

scons : 오픈소스 소프트웨어 빌드 도구, 이전의 make를 대체하기 위한 도구, GEM5를 컴파일 하기위함.

{ISA} : 시뮬하기 원하는 Instruction Set Architecture를 선택하기 위한 옵션. build_opts 디렉토리에 옵션이 존재.

{variant} : 빌드 변형 옵션, (debug, opt, fast, prof, perf 옵션이 존재)

{cpu} : 컴파일시 사용하는 cpu의 개수 옵션

 

$ build/X86/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/x86/linux/hello

위의 예시로 실행해보면 실행되는 것을 확인할 수 있다.

 

 

2. NVMain 설치

$ cd nvmain
$ scons build-type=fast

만약 성공적으로 컴파일이 된다면, nvmain.fast 실행파일이 생성 되었을 것이다.

 

$ nvmain.fast Config/PCM_ISSCC_2012_4GB.config Tests/Traces/hello_world.nvt 10000000

위의 예시로 실행해보면 실행되는 것을 확인할 수 있다.

 

3. GEM5 & NVMain

$ cd gem5-stable
$ scons EXTRAS=../nvmain ./build/X86/gem5.opt -j40

GEM5와 NVMain이 성공적으로 컴파일 되었다면 이는 문제없이 실행될 것이다.

 

/build/X86/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/x86/linux/hello --cpu-type=detailed --caches --l2cache --mem-type=NVMainMemory --nvmain-config=../nvmain/Config/PCM_ISSCC_2012_4GB.config

위와 같이 GEM5에 NVMainMomory를 추가하여 HelloWorld를 실행하면 정상적으로 동작하는것을 알 수 있다.

반응형

'LAB > GEM5' 카테고리의 다른 글

GEM5, NVMain 설치 (2)  (0) 2021.03.17
GEM5, NVMain에 L3 Cache 추가  (0) 2021.03.17
GEM5에 L3 Cache 추가  (0) 2021.03.13
GEM5 Tutorial 6 - 간단한 SimObject 제작  (0) 2021.03.09
GEM5 Tutorial 5 - se.py 및 fs.py 구성  (0) 2021.03.05