From e12b464cd7b29841b67a8dd9ff58d1337208e855 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:12:39 -0400 Subject: Trying out this auto-email groovy madness --- groovy-html.success.template | 108 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 groovy-html.success.template (limited to 'groovy-html.success.template') diff --git a/groovy-html.success.template b/groovy-html.success.template new file mode 100644 index 0000000..37d3e65 --- /dev/null +++ b/groovy-html.success.template @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ BUILD ${build.result ?: 'COMPLETED'} +
URL:${rooturl}${build.url}
Project:${project.name}
Date:${it.timestampString}
Duration:${build.durationString}
Cause:<% build.causes.each() { cause -> %> ${cause.shortDescription} <% } %>
+
+ + -- cgit v1.3 From 2cd52797c6669f27a51d8758de07ffe697aad6f1 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:31:57 -0400 Subject: Cutting the build to quickly test emails --- Jenkinsfile | 86 -------------------------------------------- groovy-html.success.template | 64 +++++++++------------------------ 2 files changed, 17 insertions(+), 133 deletions(-) (limited to 'groovy-html.success.template') diff --git a/Jenkinsfile b/Jenkinsfile index a34026b..de51df9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -21,92 +21,6 @@ pipeline { } } } - stage('simulations-build'){ - steps{ - sh 'rm -rf gpgpu-sim_simulations' - sh 'git clone git@github.com:purdue-aalp/gpgpu-sim_simulations.git && \ - cd gpgpu-sim_simulations && \ - git pull && \ - ln -s /home/tgrogers-raid/a/common/data_dirs benchmarks/' - sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/4.2_env_setup.sh &&\ - source `pwd`/setup_environment &&\ - cd gpgpu-sim_simulations && \ - source ./benchmarks/src/setup_environment && \ - make -j -C ./benchmarks/src rodinia_2.0-ft sdk-4.2 && \ - make -C ./benchmarks/src data' - 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 -j -C ./benchmarks/src/ rodinia_2.0-ft sdk-4.2 && \ - make -C ./benchmarks/src data' - } - } - stage('regress'){ - steps { - parallel "4.2-rodinia": { - sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/4.2_env_setup.sh &&\ - source `pwd`/setup_environment &&\ - ./gpgpu-sim_simulations/util/job_launching/run_simulations.py -B rodinia_2.0-ft -C GTX480,GTX480-PTXPLUS -N regress-$$ && \ - PLOTDIR="jenkins/${JOB_NAME}/${BUILD_NUMBER}/4.2-rodinia" && ssh tgrogers@dynamo.ecn.purdue.edu mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR && \ - ./gpgpu-sim_simulations/util/job_launching/monitor_func_test.py -v -N regress-$$ -s stats-per-app-4.2.csv && \ - ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c stats-per-app-4.2.csv -p tgrogers@dynamo.ecn.purdue.edu:~/website/gpgpu-sim-plots/$PLOTDIR -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR -n $PLOTDIR ' - }, "9.1-functest": { - 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 rodinia_2.0-ft,sdk-4.2 -C TITANV -N regress-$$ && \ - PLOTDIR="jenkins/${JOB_NAME}/${BUILD_NUMBER}/9.1-rodinia" && ssh tgrogers@dynamo.ecn.purdue.edu mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR && \ - ./gpgpu-sim_simulations/util/job_launching/monitor_func_test.py -v -s stats-per-app-9.1.csv -N regress-$$ && \ - ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c stats-per-app-9.1.csv -p tgrogers@dynamo.ecn.purdue.edu:~/website/gpgpu-sim-plots/$PLOTDIR -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR -n $PLOTDIR' - } - } - } - stage('4.2-correlate'){ - steps { - sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/4.2_env_setup.sh &&\ - source `pwd`/setup_environment &&\ - PLOTDIR="jenkins/${JOB_NAME}" &&\ - ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k -B rodinia_2.0-ft -C GTX480,GTX480-PTXPLUS > stats-per-kernel-4.2.csv &&\ - ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh stats-per-kernel-4.2.csv $PLOTDIR ${BUILD_NUMBER}' - } - } - stage('9.1-correlate'){ - steps { - sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/9.1_env_setup.sh &&\ - source `pwd`/setup_environment &&\ - PLOTDIR="jenkins/${JOB_NAME}" &&\ - ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k -B rodinia_2.0-ft,sdk-4.2 -C TITANV > stats-per-kernel-9.1.csv &&\ - ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh stats-per-kernel-9.1.csv $PLOTDIR ${BUILD_NUMBER}' - } - } - stage('archive-and-delta') { - steps { - sh 'rm -rf gpgpu-sim-results-repo' - sh 'git clone git@github.com:purdue-aalp/gpgpu-sim-results-repo.git' - sh 'source /home/tgrogers-raid/a/common/gpgpu-sim-setup/4.2_env_setup.sh &&\ - ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k -B rodinia_2.0-ft -C GTX480-PTXPLUS > stats-per-kernel-4.2-ptxplus.csv &&\ - ./gpgpu-sim_simulations/util/job_launching/get_stats.py -R -K -k -B rodinia_2.0-ft -C GTX480 > stats-per-kernel-4.2-ptx.csv' - 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 rodinia_2.0-ft,sdk-4.2 -C TITANV > stats-per-kernel-9.1.csv' - sh './gpgpu-sim_simulations/util/plotting/merge-stats.py -c ./gpgpu-sim-results-repo/${JOB_NAME}/stats-per-app-4.2.csv,./stats-per-app-4.2.csv -R > per-app-merge-4.2.csv' - sh './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' - sh 'PLOTDIR="jenkins/${JOB_NAME}" &&\ - ssh tgrogers@dynamo.ecn.purdue.edu mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/4.2 && \ - ssh tgrogers@dynamo.ecn.purdue.edu mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/9.1 && \ - ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c per-app-merge-4.2.csv -p tgrogers@dynamo.ecn.purdue.edu:~/website/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/4.2 -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/4.2 -n $PLOTDIR/${BUILD_NUMBER}/deltas/4.2 &&\ - ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c per-app-merge-9.1.csv -p tgrogers@dynamo.ecn.purdue.edu:~/website/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/9.1 -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/9.1 -n $PLOTDIR/${BUILD_NUMBER}/deltas/9.1 &&\ - ./gpgpu-sim_simulations/util/plotting/merge-stats.py -c ./gpgpu-sim-results-repo/${JOB_NAME}/stats-per-kernel-4.2-ptx.csv,./stats-per-kernel-4.2-ptx.csv -R > per-kernel-merge-4.2-ptx.csv &&\ - ./gpgpu-sim_simulations/util/plotting/merge-stats.py -c ./gpgpu-sim-results-repo/${JOB_NAME}/stats-per-kernel-4.2-ptxplus.csv,./stats-per-kernel-4.2-ptxplus.csv -R > per-kernel-merge-4.2-ptxplus.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 &&\ - ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh per-kernel-merge-4.2-ptx.csv $PLOTDIR ${BUILD_NUMBER} &&\ - ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh per-kernel-merge-4.2-ptxplus.csv $PLOTDIR ${BUILD_NUMBER} &&\ - ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh per-kernel-merge-9.1.csv $PLOTDIR ${BUILD_NUMBER} &&\ - mkdir -p ./gpgpu-sim-results-repo/${JOB_NAME}/ && cp stats-per-*.csv ./gpgpu-sim-results-repo/${JOB_NAME}/ &&\ - cd ./gpgpu-sim-results-repo &&\ - git diff --quiet && git diff --staged --quiet || git commit -am "Jenkins automated checkin ${BUILD_NUMBER}" &&\ - git push' - } - } } post { success { diff --git a/groovy-html.success.template b/groovy-html.success.template index 37d3e65..7d30edf 100644 --- a/groovy-html.success.template +++ b/groovy-html.success.template @@ -54,55 +54,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - -
- BUILD ${build.result ?: 'COMPLETED'} -
URL:${rooturl}${build.url}
Project:${project.name}
Date:${it.timestampString}
Duration:${build.durationString}
Cause:<% build.causes.each() { cause -> %> ${cause.shortDescription} <% } %>
-
- + See ${BUILD_URL} for full build detials. +

-- cgit v1.3 From cff71d1a89561856bc251d6eab3474fb9b9eb947 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:36:38 -0400 Subject: Try this.. --- groovy-html.success.template | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'groovy-html.success.template') diff --git a/groovy-html.success.template b/groovy-html.success.template index 7d30edf..aa590cd 100644 --- a/groovy-html.success.template +++ b/groovy-html.success.template @@ -56,22 +56,22 @@

Changes since last commit: - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/9.1 - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/4.2 + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/deltas/9.1 + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/deltas/4.2 Correlation: 4.2: $CORREL_4.2 - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.html - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.appincluded.txt + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.html + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.appincluded.txt 9.1: $CORREL_9.1 - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/titanv-cycles.html.TITANV.html - https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/titanv-cycles.html.TITANV.appincluded.txt + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.html + https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.appincluded.txt See ${BUILD_URL} for full build detials.

-- cgit v1.3 From b544aa34deafe73f8213b4e06b2b2603a335e082 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:41:43 -0400 Subject: try this... --- groovy-html.success.template | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'groovy-html.success.template') diff --git a/groovy-html.success.template b/groovy-html.success.template index aa590cd..5e0494c 100644 --- a/groovy-html.success.template +++ b/groovy-html.success.template @@ -53,6 +53,15 @@ } + +<% + import hudson.model.* + + def JOB_NAME= build.getEnvVars()["JOB_NAME"]; + def BUILD_NUMBER= build.getEnvVars()["BUILD_NUMBER"]; + def BUILD_URL= build.getEnvVars()["BUILD_URL"]; +%> +

Changes since last commit: -- cgit v1.3 From d947afbf455221cfdfc3f7ad8b5bf2cd1000dcd5 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:47:35 -0400 Subject: try this... --- groovy-html.success.template | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'groovy-html.success.template') diff --git a/groovy-html.success.template b/groovy-html.success.template index 5e0494c..fca7b90 100644 --- a/groovy-html.success.template +++ b/groovy-html.success.template @@ -60,6 +60,8 @@ def JOB_NAME= build.getEnvVars()["JOB_NAME"]; def BUILD_NUMBER= build.getEnvVars()["BUILD_NUMBER"]; def BUILD_URL= build.getEnvVars()["BUILD_URL"]; + def CORREL_42 = build.getEnvVars()["CORREL_42"]; + def CORREL_91 = build.getEnvVars()["CORREL_91"]; %> @@ -70,14 +72,14 @@ Correlation: 4.2: - $CORREL_4.2 + ${CORREL_42} https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.html https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.appincluded.txt 9.1: - $CORREL_9.1 + ${CORREL_91} https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.html https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.appincluded.txt -- cgit v1.3 From e9b2c8a01cfc38c5b153a2f43b65ed3212fd4bd3 Mon Sep 17 00:00:00 2001 From: tgrogers Date: Mon, 3 Jun 2019 09:57:24 -0400 Subject: Works - now some formatting --- groovy-html.success.template | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'groovy-html.success.template') diff --git a/groovy-html.success.template b/groovy-html.success.template index fca7b90..4e38bf3 100644 --- a/groovy-html.success.template +++ b/groovy-html.success.template @@ -1,7 +1,7 @@ + + +<% + import hudson.model.* + + def JOB_NAME= build.getEnvVars()["JOB_NAME"]; + def BUILD_NUMBER= build.getEnvVars()["BUILD_NUMBER"]; + def BUILD_URL= build.getEnvVars()["BUILD_URL"]; +%> + +See ${BUILD_URL} for full build detials. + +

Statistics changes since last commit:
+
    https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/
+
        Correlation:
+
            9.1:
+
               https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.cuda-9.1.nightly.html
+
               https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.cuda-9.1.nightly.apps.txt
+
       Correlation also posted to: https://engineering.purdue.edu/tgrogers/group/correlator.html
+
diff --git a/groovy-html.success.template b/groovy-html.success.template
index e433a09..974cc61 100644
--- a/groovy-html.success.template
+++ b/groovy-html.success.template
@@ -73,4 +73,5 @@ See ${BUILD_URL} for full build detials.
 
            10.1:
 
               https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.cuda-10.1.html
 
               https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.cuda-10.1.apps.txt
+
       Correlation also posted to: https://engineering.purdue.edu/tgrogers/group/correlator.html
 
diff --git a/nightly.jenkinsfile b/nightly.jenkinsfile
index ce2e226..8dc5d28 100644
--- a/nightly.jenkinsfile
+++ b/nightly.jenkinsfile
@@ -37,30 +37,58 @@ 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 TITANV-2B -N nightly-$$ && \
-                    PLOTDIR="jenkins/${JOB_NAME}/${BUILD_NUMBER}/getstats" && ssh tgrogers@dynamo.ecn.purdue.edu 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 -T 12 -N nightly-$$ && \
-                    ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c stats-$$.csv -p tgrogers@dynamo.ecn.purdue.edu:~/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 -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 git@github.com: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 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 | grep "Correl=" | tee correl.9.1.txt'
+
+                sh 'PLOTDIR="/home/dynamo/a/tgrogers/website/gpgpu-sim-plots/jenkins/${JOB_NAME}" &&\
+                    ssh tgrogers@dynamo.ecn.purdue.edu mkdir -p $PLOTDIR/${BUILD_NUMBER} && \
+                    scp  ./gpgpu-sim_simulations/util/plotting/correl-html/* tgrogers@dynamo.ecn.purdue.edu:$PLOTDIR/${BUILD_NUMBER} &&\
+                    scp  ./gpgpu-sim_simulations/util/plotting/htmls/* tgrogers@dynamo.ecn.purdue.edu:$PLOTDIR/${BUILD_NUMBER} &&\
+                    ssh tgrogers@dynamo.ecn.purdue.edu "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: 'tgrogers@purdue.edu'
         }
         failure {
-- 
cgit v1.3