diff options
Diffstat (limited to 'nightly.jenkinsfile')
| -rw-r--r-- | nightly.jenkinsfile | 58 |
1 files changed, 47 insertions, 11 deletions
diff --git a/nightly.jenkinsfile b/nightly.jenkinsfile index 5221b3b..e5ffa57 100644 --- a/nightly.jenkinsfile +++ b/nightly.jenkinsfile @@ -22,10 +22,12 @@ pipeline { } 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 &&\ @@ -38,30 +40,64 @@ pipeline { } 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/all-apps.list` -C TITANV-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/all-apps.list` \ + -C TITANV-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=" | 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', to: '[email protected]' } failure { |
