Doc improved
This commit is contained in:
81
README.md
81
README.md
@@ -966,7 +966,7 @@ A description of the content each directory follows.
|
||||
### Log Collector Script
|
||||
|
||||
Users can profit of running multiple simulations automatically with
|
||||
[DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh).
|
||||
[DRAMSylva.sh].
|
||||
|
||||
Every time you run the script you get a new folder with the name containing
|
||||
the execution time: dram.sys\_YYYY\_MM\_DD-HH.MM.SS.
|
||||
@@ -1066,8 +1066,9 @@ If some traces in trace_list are compressed in a tar.gz and require
|
||||
decompression before execution the option **tgz_traces** can be set to
|
||||
**yes**. The tarball is specified by the variable **tgz_file** and it is
|
||||
expected to be available (already commited and pushed to be available after
|
||||
cloning) in the [trace folder](DRAMSys/library/resources/traces). DRAMSylva
|
||||
will uncompress the tarball extracting the traces before using them.
|
||||
cloning) in the [trace folder](DRAMSys/library/resources/traces).
|
||||
[DRAMSylva.sh] will uncompress the tarball extracting the traces before using
|
||||
them.
|
||||
|
||||
```bash
|
||||
tgz_traces="yes"
|
||||
@@ -1078,16 +1079,15 @@ Set the variable **use_json_cfg** to **yes** in order to override sim_files
|
||||
with new simulation files generated from a JSON description. Otherwise the
|
||||
simulation files are the ones specified by sim_files. Files are expected to be
|
||||
available (already commited and pushed to be available after cloning) in
|
||||
[configs_json](DRAMSys/library/resources/scripts/DRAMSylva/configs_json).
|
||||
[configs_json].
|
||||
|
||||
```bash
|
||||
use_json_cfg="yes"
|
||||
```
|
||||
|
||||
All the essential simuation files are auto generated accordingly to each of
|
||||
the JSON descriptions provided in **json_cfg_list**.
|
||||
Several examples of JSON configuration files are provided in
|
||||
[configs_json](DRAMSys/library/resources/scripts/DRAMSylva/configs_json).
|
||||
the JSON descriptions provided in **json_cfg_list**. Several examples of JSON
|
||||
configuration files are provided in [configs_json].
|
||||
|
||||
+ Insert the desired simulation data in one or multiple JSON files following
|
||||
any of the examples provided, e.g.,
|
||||
@@ -1095,7 +1095,7 @@ Several examples of JSON configuration files are provided in
|
||||
Multiple arrays are allowed and encouraged. Each array corresponds to a full
|
||||
simulation setup.
|
||||
|
||||
+ Add your JSON files to **json_cfg_list** in DRAMSylva.sh.
|
||||
+ Add your JSON files to **json_cfg_list** in [DRAMSylva.sh].
|
||||
|
||||
```bash
|
||||
json_cfg_list="
|
||||
@@ -1106,11 +1106,11 @@ ref_bw.json
|
||||
|
||||
+ Commit and push your changes.
|
||||
|
||||
+ Run **DRAMSylva** as previously described. All generated files will be
|
||||
+ Run **[DRAMSylva.sh]** as previously described. All generated files will be
|
||||
inside the output folder, so it will be possible to keep a perfect track of
|
||||
all simulations.
|
||||
|
||||
For more information check the documentation in [DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva).
|
||||
For more information check the documentation inside [DRAMSylva folder].
|
||||
|
||||
### Trace Generator Script
|
||||
|
||||
@@ -1438,7 +1438,7 @@ $ ./DRAMSys > output
|
||||
## DRAMSys with gem5
|
||||
|
||||
Install gem5 by following the instructions on the [gem5 wiki](http://gem5.org/Documentation#Getting_Started).
|
||||
Optionally, use the scripts from [gem5.TnT](https://github.com/tukl-msd/gem5.TnT) to install gem5, build it, get some benchmark programs and learn more about gem5.
|
||||
Optionally, use the scripts from [gem5.TnT] to install gem5, build it, get some benchmark programs and learn more about gem5.
|
||||
|
||||
In order to understand the SystemC coupling with gem5 it is recommended to
|
||||
read the documentation in the gem5 repository *util/tlm/README* and [12].
|
||||
@@ -1567,7 +1567,7 @@ Wait some minutes for the bubble sort application to finish.
|
||||
|
||||
The hello application binary was copied from gem5 repository.
|
||||
|
||||
The bubble sort application was obtained with [gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
|
||||
The bubble sort application was obtained with [gem5.TnT].
|
||||
|
||||
Command template for generating **.ini** configuration files follows:
|
||||
|
||||
@@ -1727,11 +1727,8 @@ If you need help please contact Matthias Jung.
|
||||
### DRAMSys + GEM5 Log Collector Scripts
|
||||
|
||||
Users can profit of running multiple **DRAMSys + gem5** simulations
|
||||
automatically with
|
||||
[gem5ilva.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva.sh) for **gem5
|
||||
syscall emulation (SE) mode** and
|
||||
[gem5ilva_fs.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh) for
|
||||
**gem5 full system (FS) mode**.
|
||||
automatically with [gem5ilva.sh] for **gem5 syscall emulation (SE) mode** and
|
||||
[gem5ilva_fs.sh] for **gem5 full system (FS) mode**.
|
||||
|
||||
Normally you will have to push your changes before running the scripts. This
|
||||
approach makes it easier to track back what exactly was tested by the scripts.
|
||||
@@ -1763,46 +1760,43 @@ the main repository (usually because they are too big to be added to the
|
||||
repository).
|
||||
|
||||
For those cases uncomment and properly set the variable
|
||||
**external_inifile_path** in
|
||||
[gem5ilva_fs.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh).
|
||||
**external_inifile_path** in [gem5ilva_fs.sh].
|
||||
|
||||
This allows you to use a gem5 **config.ini** file external to the repository.
|
||||
Note, however, that in this case it is up to you to keep track of your
|
||||
simulation setup.
|
||||
|
||||
**Hint:**
|
||||
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT) provides convenience scripts
|
||||
[gem5.TnT] provides convenience scripts
|
||||
to create gem5 disk images with benchmarking programs embedded.
|
||||
|
||||
### Notes for [Elwetritsch](https://elwe.rhrk.uni-kl.de/) Users
|
||||
### Notes for [Elwetritsch] Users
|
||||
|
||||
Firstly, take a look at [High Performance Computing at the TU
|
||||
Kaiserslautern](https://elwe.rhrk.uni-kl.de/).
|
||||
Firstly, take a look at [High Performance Computing at the TU Kaiserslautern](https://elwe.rhrk.uni-kl.de/).
|
||||
|
||||
After that, please give yourself a change to learn a bit about [Batch Usage at
|
||||
RHRK TU Kaiserslautern](https://elwe.rhrk.uni-kl.de/elwetritsch/batch.shtml).
|
||||
This will probably save you some time later on.
|
||||
|
||||
When using DRAMSys + gem5 on the [Elwetritsch](https://elwe.rhrk.uni-kl.de/)
|
||||
gem5 can be installed with convenience scripts provided by
|
||||
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
|
||||
When using DRAMSys + gem5 on the [Elwetritsch] gem5 can be installed with
|
||||
convenience scripts provided by [gem5.TnT].
|
||||
|
||||
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT) also provides convenience scripts
|
||||
[gem5.TnT] also provides convenience scripts
|
||||
to create gem5 disk images with benchmarking programs embedded. The creation
|
||||
of disk images for gem5 requires superuser privilege. A solution is to copy
|
||||
(e.g., using scp or mounting a folder, etc.) the locally created disk images
|
||||
to Elwetritsch. Since there is no compilation involved, copying disk images
|
||||
to [Elwetritsch]. Since there is no compilation involved, copying disk images
|
||||
created in one machine to another machine should not incur in incompatibility
|
||||
problems.
|
||||
|
||||
On gem5.TnT repository open a gem5.TnT config file.
|
||||
On [gem5.TnT] repository open a [gem5.TnT] config file.
|
||||
|
||||
```bash
|
||||
$ vim common/defaults.in
|
||||
```
|
||||
|
||||
Note the variable **ROOTDIR**. Its default value is *ROOTDIR=$HOME/gem5_tnt*.
|
||||
That means that gem5.TnT will download to *$HOME/gem5_tnt*.
|
||||
That means that [gem5.TnT] will download to *$HOME/gem5_tnt*.
|
||||
|
||||
Currently the space one can use in its Elwetrich *$HOME* folder is limited to
|
||||
a few tens of GiB. Nevertheless, a directory **/scratch/$USER** is provided
|
||||
@@ -1817,7 +1811,7 @@ $ cd
|
||||
$ ln -s /scratch/$USER/gem5_tnt
|
||||
```
|
||||
|
||||
On gem5.TnT repository use the commands below to get files and build gem5:
|
||||
On [gem5.TnT] repository use the commands below to get files and build gem5:
|
||||
|
||||
```bash
|
||||
$ ./get_essential_fs.sh
|
||||
@@ -1829,14 +1823,12 @@ $ ./build_gem5.sh
|
||||
To get DRAMSys installed follow the traditional setup instructions described
|
||||
in this document.
|
||||
|
||||
For building DRAMSys one can profit from using
|
||||
[DRAMSylva.sh](DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh) which
|
||||
loads the modules that are necessary for building DRAMSys on Elwetritsch.
|
||||
For building DRAMSys one can profit from using [DRAMSylva.sh] which loads the
|
||||
modules that are necessary for building DRAMSys on [Elwetritsch].
|
||||
|
||||
Regarding dependencies for building DRAMSys and DRAMSys + gem5, the scripts
|
||||
provided inside the [DRAMSylva
|
||||
folder](DRAMSys/library/resources/scripts/DRAMSylva), when running on
|
||||
Elwetritsch, will load the required modules automatically.
|
||||
provided inside the [DRAMSylva folder], when running on [Elwetritsch], will
|
||||
load the required modules automatically.
|
||||
|
||||
As usual, one may export environment variables from his/her **~/.bashrc** file
|
||||
on Elwetritch. Some segments extracted from a functional ~/.bashrc file are
|
||||
@@ -1877,10 +1869,9 @@ unset TMOUT
|
||||
```
|
||||
|
||||
[SLURM](https://slurm.schedmd.com/overview.html) **job scripts** are available
|
||||
inside the [DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva) folder.
|
||||
They can be used directly without changes or as examples on how to start jobs
|
||||
using nodes of the Elwetritsch cluster. Of course, one can create his/her own
|
||||
job scripts.
|
||||
inside the [DRAMSylva folder]. They can be used directly without changes or as
|
||||
examples on how to start jobs using nodes of the [Elwetritsch] cluster. Of
|
||||
course, one can create his/her own job scripts.
|
||||
|
||||
|
||||
### Coverage Check
|
||||
@@ -1942,3 +1933,11 @@ Conference on Embedded Computer Systems Architectures Modeling and Simulation
|
||||
Portable Radhika Jagtap, Stephan Diestelhorst, Andreas Hansson, Matthias Jung
|
||||
and Norbert Wehn, IEEE International Conference on Embedded Computer Systems
|
||||
Architectures Modeling and Simulation (SAMOS), 2016, Samos Island, Greece.
|
||||
|
||||
[gem5.TnT]: https://github.com/tukl-msd/gem5.TnT
|
||||
[gem5ilva.sh]: DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva.sh
|
||||
[gem5ilva_fs.sh]: DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh
|
||||
[Elwetritsch]: https://elwe.rhrk.uni-kl.de/
|
||||
[DRAMSylva.sh]: DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh
|
||||
[DRAMSylva folder]: DRAMSys/library/resources/scripts/DRAMSylva
|
||||
[configs_json]: DRAMSys/library/resources/scripts/DRAMSylva/configs_json
|
||||
|
||||
Reference in New Issue
Block a user