반응형
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 |