Welcome to the project repository! This repository contains scientific article sources, program source code, and scripts for data analysis related to a specific scientific study. Below is a guide on how to navigate and use the various components of this project.
The article
directory contains the sources for the scientific article. To generate the article PDF, navigate to the article
directory and run:
cd article
make
This will generate the article.pdf
in the build
directory.
The prog
directory contains source code for different programs. To build the binaries, edit the cons.h
file to configure parameters, then run:
cd prog
make
This will compile and generate binaries in the build
directory.
The scripts
directory contains various scripts for data analysis. To perform specific tasks, follow the instructions below:
- To set CPU frequency, run
set-frequency.sh
. - To run benchmarks on all executables, use
benchmark-exe.sh
. - To plot data, run
preprocess.sh
and then executeplot.py
. - For a single execution measurement, use
audit.sh
. - To test one binary with varying frequencies, use
benchmark-freq.sh
.
To configure the parameters of the program, edit the cons.h
file in the prog
directory before building the binaries.
Compile the program binaries by navigating to the prog
directory and running:
cd prog
make
Adjust the CPU frequency by executing the following command:
cd scripts
./set-freq.sh <frequency>
To run benchmarks on all built executables from a folder, use the following command:
cd scripts
./benchmark-exe.sh <folder> <iterations>
Generate plots from benchmark data by executing the following commands:
(The timestamp in juliaM25620231220_105438.log
is 20231220_105438
)
cd scripts
./preprocess.sh <timestamps>
./plot.py <timestamps>
Measure the execution time of one binary with the following command:
./audit.sh <path-to-binary>
Test one binary with varying CPU frequencies using the following command:
./scripts/benchmark-freq.sh <path-to-binary>
To ensure the proper functioning of the project and its associated scripts, it is important to have the following dependencies installed on your system.
-
sys: Standard Python library. No additional installation required.
-
pandas:
pip install pandas
-
matplotlib:
pip install matplotlib
- OpenMP: Ensure your C compiler supports OpenMP. For GCC, OpenMP is typically included. For other compilers, please refer to the respective documentation.
- mojitos: The project relies on the Mojitos benchmark tool for performance testing. Follow the installation instructions provided by Mojitos: MojitosRepository
Make sure to install these dependencies before running any scripts or compiling the C programs. If you encounter any issues related to dependencies, consult the documentation or community forums of the respective tools for assistance.
Feel free to explore and contribute to this project! If you encounter any issues or have suggestions, please open an issue or submit a pull request.