Notes for Elwetritsch users
This commit is contained in:
85
README.md
85
README.md
@@ -1707,6 +1707,91 @@ If you need help please contact Matthias Jung.
|
||||
Users can profit of running multiple simulations automatically with
|
||||
[gem5ilva](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva.sh).
|
||||
|
||||
### Notes for Elwetritsch users
|
||||
|
||||
For using DRAMSys + gem5 on the Elwetritsch gem5 can be installed with
|
||||
convenience scripts provided by
|
||||
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
|
||||
|
||||
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT) provides convenience scripts
|
||||
to create disk images too. The creation of disk images for gem5 requires
|
||||
superuser privilege. A solution is to copy locally created the disk images
|
||||
locally to Elwetritsch (e.g., scp or mounting a folder, etc.). Since there is
|
||||
no compilation copying disk images should not incur in incompatibility
|
||||
problems.
|
||||
|
||||
Regarding dependencies for building DRAMSys and gem5, the scripts provided in
|
||||
[DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva), when running on
|
||||
Elwetritsch, will load the required modules automatically.
|
||||
|
||||
On gem5.TnT repository open a gem5.TnT config file.
|
||||
|
||||
```bash
|
||||
$ vim common/defaults.in
|
||||
```
|
||||
|
||||
Note the variable ROOTDIR. Its default value is readonly
|
||||
ROOTDIR=$HOME/gem5_tnt. That means that gem5.TnT will download to
|
||||
$HOME/gem5_tnt.
|
||||
|
||||
Currently on Elwetritsch the space one can use in $HOME is limited to some
|
||||
tens of GiB.
|
||||
|
||||
One can create a symlink pointing to /scratch/$USER/gem5_tnt (/scratch/$USER
|
||||
is a place where lots of space are available).
|
||||
|
||||
```bash
|
||||
$ cd $SCRATCH
|
||||
$ mkdir gem5_tnt
|
||||
$ cd
|
||||
$ ln -s /scratch/$USER/gem5_tnt
|
||||
```
|
||||
|
||||
On gem5.TnT repository use the commands below to get files and build gem5:
|
||||
|
||||
```bash
|
||||
$ ./get_essential_fs.sh
|
||||
$ ./get_benchmarks.sh
|
||||
$ ./get_extra_fs.sh
|
||||
$ ./build_gem5.sh
|
||||
```
|
||||
|
||||
Example of a functional ~/.bashrc on Elwetritsch:
|
||||
|
||||
```bash
|
||||
# User specific aliases and functions
|
||||
# SystemC home
|
||||
export SYSTEMC_HOME=$HOME/repos/systemc-2.3.1a
|
||||
# SystemC target architecture
|
||||
export SYSTEMC_TARGET_ARCH=linux64
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SYSTEMC_HOME}/lib-linux64
|
||||
|
||||
# Qwt lib
|
||||
export LIBQWT_HOME=$HOME/repos/qwt-6.1/lib
|
||||
export LIBQWT_HEADERS=$HOME/repos/qwt-6.1/src
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}$LIBQWT_HOME
|
||||
|
||||
# Python lib
|
||||
export LIBPYTHON_VERSION="3.4m"
|
||||
export PYTHON_HOME=/usr/lib64
|
||||
export PYTHON_HEADERS=/usr/include/python3.4m
|
||||
|
||||
# Gem5 + DRAMsys
|
||||
export GEM5=$HOME/gem5_tnt/gem5
|
||||
|
||||
# Gem5 SystemC/TLM2.0 coupling (see also: $HOME/gem5_tnt/gem5/util/tlm/README)
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HOME}/gem5_tnt/gem5/build/ARM
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${SYSTEMC_HOME}/lib-$SYSTEMC_TARGET_ARCH
|
||||
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${SYSTEMC_HOME}/lib-$SYSTEMC_TARGET_ARCH/pkgconfig
|
||||
|
||||
# M5_PATH for gem5
|
||||
export M5_PATH=$HOME/gem5_tnt/full_system/arm/aarch-system-20180409
|
||||
|
||||
# Do not close my terminal when inactive after a timeout
|
||||
unset TMOUT
|
||||
```
|
||||
|
||||
|
||||
## References
|
||||
|
||||
[1] TLM Modelling of 3D Stacked Wide I/O DRAM Subsystems, A Virtual Platform for Memory Controller Design Space Exploration
|
||||
|
||||
Reference in New Issue
Block a user