From 933d0aa4f91588d17f8970c578b2c1d2bbc9fc9c Mon Sep 17 00:00:00 2001 From: tgrogers Date: Wed, 12 Jun 2019 16:18:59 -0400 Subject: updating the nightly build and email templates --- groovy-html.nightly.success.template | 74 ++++++++++++++++++++++++++++++++++++ groovy-html.success.template | 1 + nightly.jenkinsfile | 46 +++++++++++++++++----- 3 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 groovy-html.nightly.success.template diff --git a/groovy-html.nightly.success.template b/groovy-html.nightly.success.template new file mode 100644 index 0000000..210b924 --- /dev/null +++ b/groovy-html.nightly.success.template @@ -0,0 +1,74 @@ + + + +<% + 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