SkillAgentSearch skills...

HMCTherm

a cycle-accurate simulator for hybrid memory cube with thermal analysis

Install / Use

/learn @zyyang1111/HMCTherm
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

HMCTherm

HMCTherm: A Cycle-accurate Simulator for Hybrid Memory Cube with thermal analysis version HMCTherm v1.0 - 2018.04.25

1. Developer

Zhiyuan Yang <br /> Ankur Srivastava <br /> University of Maryland <br /> zyyang [at] umd [dot] edu

2. About HMCTherm

HMCTherm is a comprehensive simulation framework for Stacked-Memory-on-CPU architecture. Given the architectural description of multi-core CPUs and HMCs, HMCTherm can simulate the 3D thermal profile (both transient and static) of the HMC when a certain program is running. The HMCTherm is built based on CasHMC v1.2 (https://github.com/estwings57/CasHMC) which takes memory traces as inputs and performs cycle-accurate simulation of HMC to get the delay, power and thermal information.

A grid-based thermal solver is integrated to HMCTherm which is based on SuperLU_MT (http://crd-legacy.lbl.gov/~xiaoye/SuperLU/). SuperLU is a general purpose library for the direct solution of large, sparse, nonsysmmetric systems of linear equations; and SuperLU_MT is a version that enables multi-threaded computation.

3. Folder Directory

  • sources : source files for the HMC simulator
  • Example : containing memory traces for the simulation
  • script : containing python scripts for ploting final power and thermal profiles

4. Usage

Dependency

The integrated grid-based thermal solver is based on SuperLU_MT. SuperLU_MT should be installed before installing HMCTemp. SuperLU_MT can be downloaded from http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ and following the instruction to install the library.

Installation

  • (1) install the architectural simulator
$ cd multi2sim_memtrace
$ make
  • (2) install McPAT
$ cd McPAT
$ make
  • (3) in the Makefile for the HMC simulator (under the root directory of HMCTherm), modify the SuperLUroot to where the SuperLU is installed in your local system

  • (4) install the HMC simulator

$ make 

Run your Simulation

  • (1) run the HMC simulator
$ cd $(HMCThermROOT)/
$ ./HMCTherm -c 400000 -t file -f ./Example/SPEC_CPU2006_example/mase_trace_bwaves_base.alpha.v0.trc -x 1024 -y 1024 -e 20000 -d ./ 

In this command: <br /> -c indicates the number of CPU cycles to be simulated <br /> -t indicates whether the input memory trace is from a file (file) or generated randomly (random) <br /> -f if the memory trace is from a file, the trace file name is specified here <br /> -x and -y specifies the size (in byte) of a "mat" which is the smallest unit of memory [Default 512] <br /> -e is the time step to print out the transient temperature and power profile <br /> -d specifies the directory saving the output files <br /> -h will print out the help of the HMC simulator <br />

The HMC simulation will generate five output files: <br /> - /result/file.out : summary of the HMC latency <br /> - temperature_trace.csv : the temperature traces for each time step <br /> - power_trace.csv : the power traces for each time step <br /> - Average_power.csv : the average power profile within the time of simulation <br /> - static_temperature.csv : the static thermal profile given the average power <br />

  • (2) Plot the power and temperature profile using the python scripts in $(HMCThermROOT)/script/
    • plot_trans.py : plot the transient power or temperature profile
    • plot_staticT.py : plot the static temperature profile
    • plot_staticP.py : plot the average power profile
View on GitHub
GitHub Stars6
CategoryDevelopment
Updated1y ago
Forks3

Languages

C++

Security Score

55/100

Audited on Jul 29, 2024

No findings