LAB/GEM5

GEM5, NVMain 설치 (2)

RyoTTa 2021. 3. 17. 12:19
반응형

1. GEM5 다운로드

 

이전에 설치한 NVMain에서 제공한 GEM5는 매우 이전버전으로 SPEC2006을 실행하려 했을때, Static으로 컴파일된 App만 실행 가능하다고한다. 

따라서 NVMain이랑 호환되며 그나마 최신버전인것을 설치해보려 한다.

 

NVMain Github 에서 Issues에서 찾은 호환되는 버전을 찾았다. 

아래에서 받을 수 있다.

https://gem5.googlesource.com/public/gem5/+/525ce650e1a5bbe71c39d4b15598d6c003cc9f9e

 

$ mv gem5-525ce650e1a5bbe71c39d4b15598d6c003cc9f9e gem5

해당파일을 받고 압축을 해제한 뒤, 디렉토리명을 gem5로 변경한다.

 

2. NVMain 다운로드

$ git clone https://github.com/SEAL-UCSB/NVmain.git
$ mv NVmain nvmain

해당파일을 받고, 디렉토리명을 nvmain로 변경한다.

 

3. 패치

$ cd gem5
$ git apply ../nvmain/patches/gem5/nvmain2-gem5-11688+

NVMain에서 제공하는 GEM5를 위한 패치를 적용한다. 

패치에서 실패한다면 다른 Commit Version을 찾아보는것을 추천한다.

 

4. GEM5 빌드

$ scons EXTRAS=../nvmain ./build/X86/gem5.opt -j10

(gcc version = 4.8.5, Python 2.7 or Python 3 Anaconda 환경을 사용)

최신 GEM5는 gcc version < 5 및 Anaconda 환경에서 에러를 출력했지만, 이번 버전에는 상위 버전을 사용하면 에러가 출력되었었다.

 

5. 샘플 프로그램 실행

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

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

 

L3Cache를 추가하기 위해서는 작성한 ryotta-205.tistory.com/49 글을 참고하여 약간 수정하면 된다.

반응형

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

GEM5, DRAMSim2에 Buffer Hit, Miss 추가  (0) 2021.06.21
GEM5, NVMain FRFCFS MemCon에 WR,RD buffer hit,miss 추가  (0) 2021.06.11
GEM5, NVMain에 L3 Cache 추가  (0) 2021.03.17
GEM5, NVMain 설치  (0) 2021.03.16
GEM5에 L3 Cache 추가  (0) 2021.03.13