APT-GET is a novel profile-guided technique that ensures prefetch timeliness by leveraging dynamic execution time information. In this page, we provide the profile guided software prefetching LLVM pass code for indirect memory access patterns that is designed for APT-GET. You can also find scripts and python codes that you need to run the experiments.
How to run APT-GET (as an example for CRONO benchmarks)
- First you need to clone the APT-GET git-repository.
- You should create a "results" folder besides the other folders.
- You need to set the required PATHs in "run-CRONO-benchmarks.sh".
- You can get CRONO benchmark suite fro "https://github.com/masabahmad/CRONO" and set the path to its "app" folder.
- You can get the input graphs from SNAP website: "http://snap.stanford.edu/data/web-Google.html". (You can get the other benchmarks in the paper from "https://github.com/SamAinsworth/reproduce-cgo2017-paper/tree/master/program".)
- run "./scripts/run-CRONO-benchmarks.sh".
Here is the link to the paper: https://dl.acm.org/doi/abs/10.1145/3492321.3519583
@inproceedings{jamilan2022apt,
title={APT-GET: profile-guided timely software prefetching},
author={Jamilan, Saba and Khan, Tanvir Ahmed and Ayers, Grant and Kasikci, Baris and Litz, Heiner},
booktitle={Proceedings of the Seventeenth European Conference on Computer Systems},
pages={747--764},
year={2022}
}