summaryrefslogtreecommitdiff
path: root/nightly.jenkinsfile
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2020-05-21 08:57:11 -0700
committerGitHub <[email protected]>2020-05-21 08:57:11 -0700
commit76217d80d9aa33126b4254f5e899f882bbc6f2fd (patch)
tree4f461a6f417f76956748fafcfb89b664f54bf6a9 /nightly.jenkinsfile
parente7fbfaa347c0acf8a6702c1e684a8e2ad8d3f733 (diff)
parente9e9fcf5957530ecb927aecb5ea238e4b78a4f45 (diff)
Merge pull request #178 from purdue-aalp/dev
Merging with the last few months of work at Purdue
Diffstat (limited to 'nightly.jenkinsfile')
-rw-r--r--nightly.jenkinsfile62
1 files changed, 49 insertions, 13 deletions
diff --git a/nightly.jenkinsfile b/nightly.jenkinsfile
index 5221b3b..c841fb0 100644
--- a/nightly.jenkinsfile
+++ b/nightly.jenkinsfile
@@ -17,51 +17,87 @@ pipeline {
steps {
sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/9.1_env_setup.sh &&\
source `pwd`/setup_environment &&\
- make -j'
+ make -j 10'
}
}
stage('nightly-simulations-build'){
steps{
+ sh 'if [ -d "./gpgpu-sim_simulations" ]; then \
+ cp -fr ./gpgpu-sim_simulations ./gpgpu-sim_simulations_bak; \
+ fi'
sh 'rm -rf gpgpu-sim_simulations'
- sh 'git clone [email protected]:TimRogersGroup/gpgpu-sim_simulations.git && \
+ sh 'git clone [email protected]:purdue-aalp/gpgpu-sim_simulations.git && \
cd gpgpu-sim_simulations && \
- git checkout purdue-cluster && \
git pull && \
ln -s /home/tgrogers-raid/a/common/data_dirs benchmarks/'
sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/9.1_env_setup.sh &&\
source `pwd`/setup_environment &&\
cd gpgpu-sim_simulations && \
source ./benchmarks/src/setup_environment && \
- make -i -j -C ./benchmarks/src/ all && \
+ make -i -j 10 -C ./benchmarks/src/ all && \
make -C ./benchmarks/src data'
}
}
stage('nightly-2B-insn-run'){
steps {
+ sh 'rm -rf ./gpgpu-sim_simulations/util/plotting/correl-html && rm -rf gpgpu-sim-results-repo &&\
+ rm -rf ./gpgpu-sim_simulations/util/plotting/htmls'
+
sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/9.1_env_setup.sh &&\
- source `pwd`/setup_environment &&\
- ./gpgpu-sim_simulations/util/job_launching/run_simulations.py -B `cat ./gpgpu-sim_simulations/util/job_launching/apps/all-apps.list` -C TITANX-2B,TITANX-L1ON-2B,P100-2B,TITANV-2B -N nightly-$$ && \
- PLOTDIR="jenkins/${JOB_NAME}/${BUILD_NUMBER}/getstats" && ssh [email protected] mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR && \
- ./gpgpu-sim_simulations/util/job_launching/monitor_func_test.py -I -S 1800 -v -s stats-$$.csv -N nightly-$$ && \
- ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c stats-$$.csv -p [email protected]:~/website/gpgpu-sim-plots/$PLOTDIR -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR -n $PLOTDIR'
+ source `pwd`/setup_environment &&\
+ ./gpgpu-sim_simulations/util/job_launching/run_simulations.py \
+ -B `cat ./gpgpu-sim_simulations/util/job_launching/apps/correlation-apps.list` -C QV100-2B -N nightly-$$ && \
+ ./gpgpu-sim_simulations/util/job_launching/monitor_func_test.py -I -S 1800 -v \
+ -s stats-per-app-9.1.csv -T 12 -K -N nightly-$$ && \
+ ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c stats-per-app-9.1.csv -P cuda-9.1.nightly'
}
}
stage('nightly-correlate'){
steps {
+ sh 'git clone [email protected]:purdue-aalp/gpgpu-sim-results-repo.git'
+
+ sh 'if [ ! -d ./gpgpu-sim-results-repo/${JOB_NAME} ]; then \
+ mkdir -p ./gpgpu-sim-results-repo/${JOB_NAME}/ ; \
+ cp ./gpgpu-sim-results-repo/purdue-aalp/gpgpu-sim_distribution/dev/* \
+ ./gpgpu-sim-results-repo/${JOB_NAME}/ ; \
+ fi && \
+ ./gpgpu-sim_simulations/run_hw/get_hw_data.sh'
+
sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/9.1_env_setup.sh &&\
+ ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k \
+ -B `cat ./gpgpu-sim_simulations/util/job_launching/apps/correlation-apps.list` \
+ -C QV100-2B > stats-per-kernel-9.1.csv &&\
+ ./gpgpu-sim_simulations/util/plotting/merge-stats.py \
+ -c ./gpgpu-sim-results-repo/${JOB_NAME}/stats-per-app-9.1.csv,./stats-per-app-9.1.csv -R \
+ > per-app-merge-9.1.csv &&\
+ ./gpgpu-sim_simulations/util/plotting/merge-stats.py \
+ -c ./gpgpu-sim-results-repo/${JOB_NAME}/stats-per-kernel-9.1.csv,./stats-per-kernel-9.1.csv -R \
+ > per-kernel-merge-9.1.csv &&\
source `pwd`/setup_environment &&\
- PLOTDIR="jenkins/${JOB_NAME}" &&\
- ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k -B `cat ./gpgpu-sim_simulations/util/job_launching/apps/all-apps.list` -C TITANX-2B,TITANX-L1ON-2B,P100-2B,TITANV-2B > nightly-stats-per-kernel-9.1.csv &&\
- ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh nightly-stats-per-kernel-9.1.csv $PLOTDIR ${BUILD_NUMBER}'
+ ./gpgpu-sim_simulations/util/plotting/plot-correlation.py -c per-kernel-merge-9.1.csv \
+ -p cuda-9.1.nightly -b ./gpgpu-sim_simulations/util/plotting/known.correlation.outliers.list \
+ | grep "Correl=" -B 1 | tee correl.9.1.txt &&\
+ cp stats-per-*.csv ./gpgpu-sim-results-repo/${JOB_NAME}/ &&\
+ cd ./gpgpu-sim-results-repo &&\
+ git pull &&\
+ git diff --quiet && git diff --staged --quiet || git commit -am "Jenkins automated checkin ${JOB_NAME} Build:${BUILD_NUMBER}" &&\
+ git push'
+
+ sh 'PLOTDIR="/home/dynamo/a/tgrogers/website/gpgpu-sim-plots/jenkins/${JOB_NAME}" &&\
+ ssh [email protected] mkdir -p $PLOTDIR/${BUILD_NUMBER} && \
+ scp ./gpgpu-sim_simulations/util/plotting/correl-html/* [email protected]:$PLOTDIR/${BUILD_NUMBER} &&\
+ scp ./gpgpu-sim_simulations/util/plotting/htmls/* [email protected]:$PLOTDIR/${BUILD_NUMBER} &&\
+ ssh [email protected] "cd $PLOTDIR && rm -rf latest && cp -r ${BUILD_NUMBER} latest"'
}
}
}
post {
success {
- emailext body: "See ${BUILD_URL}",
+ emailext body:'''${SCRIPT, template="groovy-html.nightly.success.template"}''',
recipientProviders: [[$class: 'CulpritsRecipientProvider'],
[$class: 'RequesterRecipientProvider']],
subject: "[AALP Jenkins] Build #${BUILD_NUMBER} - Success!",
+ attachmentsPattern: 'correl.*.txt',
}
failure {