The initial release of A3PIM is described in the following paper:
[DATE'2024] Qingcai Jiang, Shaojie Tan, Junshi Chen and Hong An. A3PIM: An Automated, Analytic and Accurate Processing-in-Memory Offloader, 27th Design, Automation and Test in Europe Conference (DATE), 2024.
You need have installed python3-venv
with sudo permissions
python3 -m venv curPy
source curPy/bin/active
pip install -r requirements.txt
pip install virtualenv
virtualenv myenv
source myenv/bin/activate
Prior to execution, it is necessary to properly configure the src/config.py
file.
In addition to setting the conventional paths, the most crucial aspects involve specifying the application to be tested and its corresponding execution commands.
Given the highly uneven temporal distribution of data collection by Sniper, it is highly recommended to split main.py into multiple files and run them in stages.
The dependencies among steps are as follows: STEP3
and STEP4
require the completion of the preceding three parts (STEP1
, STEP2.1
, STEP2.2
), with no dependencies among the initial three parts.
source curPy/bin/active
python3 preScaTest.py
Parallel execution can be attempted; however, employing a single command for each application proves to be a more manageable approach.
To obtain the individual Sniper collection commands for each application, please utilize the following instructions.
python ./src/printPIMcommand.py
The relevant code can be found in main.py
.
source curPy/bin/active
python3 preParallelPimMode.py
source curPy/bin/active
python3 preAnalyse.py
We are developing and testing a truly compile-time-scheduling framework using the following scripts:
python3 CTS.py
If you wish to train your own XGB parameters, you can utilize the following command. Reviewing the ./training.sh
file will assist in understanding the file dependencies for the training process.(The entire XGBoost training method has been deprecated and is currently in an incompatible state that cannot be executed.)
python src/trainning/main.py
raise FileNotFoundError(
FileNotFoundError: Matplotlib's TeX implementation searched for a file named 'cmr10.tfm' in your texmf tree, but could not find it
0 is global 1 is main
BBLID Decision ctsDecision scaDecision Parallelism bbCount CPU PIM Difference Hash(hi) Hash(lo)
0 C C C 32 2 11007 6.30947e+07 -6.30837e+07 0 0
1 P C C 1 1312156 1.13788e+06 4.01082e+06 -2.87294e+06 1 1
Qingcai Jiang: [email protected]