This archive is distributed in association with the INFORMS Journal on Computing under the MIT License.
The software and data in this repository are a snapshot of the software and data that were used in the research reported on in the paper This is a Template by T. Ralphs. The snapshot is based on this SHA in the development repository.
Important: This code is being developed on an on-going basis at https://github.com/tkralphs/JoCTemplate. Please go there if you would like to get a more recent version or would like support
To cite this software, please cite the paper using its DOI and the software itself, using the following DOI.
Below is the BibTex for citing this version of the code.
@article{CacheTest,
author = {T. Ralphs},
publisher = {INFORMS Journal on Computing},
title = {{CacheTest} Version v1.0},
year = {2020},
doi = {10.5281/zenodo.3977566},
url = {https://github.com/INFORMSJoC/JoCTemplate},
}
The goal of this software is to demonstrate the effect of cache optimization.
In Linux, to build the version that multiplies all elements of a vector by a constant (used to obtain the results in Figure 1 in the paper), stepping K elements at a time, execute the following commands.
make mult
Alternatively, to build the version that sums the elements of a vector (used to obtain the results Figure 2 in the paper), stepping K elements at a time, do the following.
make clean
make sum
Be sure to make clean before building a different version of the code.
Figure 1 in the paper shows the results of the multiplication test with different
values of K using gcc
7.5 on an Ubuntu Linux box.
Figure 2 in the paper shows the results of the sum test with different
values of K using gcc
7.5 on an Ubuntu Linux box.
To replicate the results in Figure 1, do either
make mult-test
or
python test.py mult
To replicate the results in Figure 2, do either
make sum-test
or
python test.py sum
This code is being developed on an on-going basis at the author's Github site.
For support in using this software, submit an issue.