- Download the DRAMSim2 package in your working directory.
- Navigate to the DRAMSim2 directory.
- Apply the patch using the following command:
patch -p1 < DRAMSim2.patch
- Build DRAMSim2 using the following command:
cd DRAMSim2
make libdramsim.so
cd ..
- Copy all files from the
DRAMSim2_ini
directory to theini
directory insideDRAMSim2/ini
.
-
Copy the
DRackSim-Trace
directory to your Pin tool path. The directory should be placed inside:pin-path/source/tools
-
Copy all the files inside the
Trace_tool
directory into the main directory (similar to the DRAMSim-Trace folder). -
Navigate to the
DRAMSim-Trace
directory:cd DRAMSim-Trace
-
Install Boost Libraries
- Download Boost or use the provided copy.
- Extract it into the following directory:
$pin-path/source/include/pin/
-
Create obj-intel64 folder in $pin-path/source/include/pin/
-
Run the following command to build the memory trace tool:
make obj-intel64/Mem_Trace.so TARGET=intel64
-
Create an executable of the program you want to trace, for example, matrix multiplication or any other file:
- Compile the program (e.g.,
example.cpp
) using g++ or your preferred compiler to produce an executable:g++ example.cpp -o example.out
- Compile the program (e.g.,
-
Generate the trace by running the Pin tool along with the memory trace tool:
../../pin -t obj-intel64/Mem_Trace.so -P 1 -N 1 -T 0 -- ./example.out
-
Once the trace is generated, an output folder will be created containing the trace files.
-
Compile the
parse_trace.cpp
file:g++ parse_trace.cpp -o parse_trace
-
Run the parser to create the parsed trace:
./parse_trace
- This will generate the
Parsed_Trace_Node1.trc
file.
- This will generate the
-
Ensure you have an executable for DRackSim.
-
Run the simulation using the following command:
./TrackDRackSim <any-folder-name>
- All the simulation statistics will be saved inside the specified folder.