summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jenkinsfile31
-rw-r--r--groovy-html.success.template87
2 files changed, 105 insertions, 13 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index aefd7e0..23bfe43 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -67,7 +67,8 @@ pipeline {
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}'
+ ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh stats-per-kernel-4.2.csv $PLOTDIR ${BUILD_NUMBER} | grep "Correl=" | tee correl.4.2.txt &&\
+ export CORREL_42=`sed "s/$/<br>/" correl.4.2.txt`'
}
}
stage('9.1-correlate'){
@@ -76,7 +77,8 @@ pipeline {
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}'
+ ./gpgpu-sim_simulations/util/plotting/correlate_and_publish.sh stats-per-kernel-9.1.csv $PLOTDIR ${BUILD_NUMBER} | grep "Correl=" | tee correl.9.1.txt &&\
+ export CORREL_91=`sed "s/$/<br>/" correl.9.1.txt`'
}
}
stage('archive-and-delta') {
@@ -87,19 +89,21 @@ pipeline {
./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-titanx.csv'
- sh './gpgpu-sim_simulations/util/plotting/merge-stats.py -c ./gpgpu-sim-results-repo/jenkins/quick-regress/AALP/gpgpu-sim_distribution/dev-purdue-integration/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/jenkins/quick-regress/AALP/gpgpu-sim_distribution/dev-purdue-integration/stats-per-app-9.1.csv,./stats-per-app-9.1.csv -R > per-app-merge-9.1.csv'
+ ./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}" &&\
- ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c per-app-merge-4.2.csv -p [email protected]:~/website/gpgpu-sim-plots/$PLOTDIR/deltas -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR -n $PLOTDIR/deltas &&\
- ./gpgpu-sim_simulations/util/plotting/plot-get-stats.py -c per-app-merge-9.1.csv -p [email protected]:~/website/gpgpu-sim-plots/$PLOTDIR/deltas -w https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/$PLOTDIR/deltas -n $PLOTDIR/deltas &&\
- ./gpgpu-sim_simulations/util/plotting/merge-stats.py -c ./gpgpu-sim-results-repo/jenkins/quick-regress/AALP/gpgpu-sim_distribution/dev-purdue-integration/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/jenkins/quick-regress/AALP/gpgpu-sim_distribution/dev-purdue-integration/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/jenkins/quick-regress/AALP/gpgpu-sim_distribution/dev-purdue-integration/stats-per-kernel-9.1-titanx.csv,./stats-per-kernel-9.1-titanx.csv -R > per-kernel-merge-9.1-titanx.csv &&\
+ ssh [email protected] mkdir -p /home/dynamo/a/tgrogers/website/gpgpu-sim-plots/$PLOTDIR/${BUILD_NUMBER}/deltas/4.2 && \
+ ssh [email protected] 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 [email protected]:~/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 [email protected]:~/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-titanx.csv $PLOTDIR ${BUILD_NUMBER} &&\
- mkdir -p ./jenkins/quick-regress/${JOB_NAME}/ && cp stats-per-*.csv ./jenkins/quick-regress/${JOB_NAME}/ &&\
+ ./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'
@@ -108,10 +112,11 @@ pipeline {
}
post {
success {
- emailext body: "See ${BUILD_URL}",
+ emailext body:'''${SCRIPT, template="groovy-html.success.template"}''',
recipientProviders: [[$class: 'CulpritsRecipientProvider'],
[$class: 'RequesterRecipientProvider']],
subject: "[AALP Jenkins] Build #${BUILD_NUMBER} - Success!",
+ attachmentsPattern: 'correl.*.txt',
}
failure {
diff --git a/groovy-html.success.template b/groovy-html.success.template
new file mode 100644
index 0000000..fec4628
--- /dev/null
+++ b/groovy-html.success.template
@@ -0,0 +1,87 @@
+<STYLE>
+ BODY, TABLE, TD, TH, P {
+ font-family: Courier New, Verdana, Helvetica, sans serif;
+ font-size: 10px;
+ color: black;
+ }
+ .console {
+ font-family: Courier New;
+ }
+ .filesChanged {
+ width: 10%;
+ padding-left: 10px;
+ }
+ .section {
+ width: 100%;
+ border: thin black dotted;
+ }
+ .td-title-main {
+ color: white;
+ font-size: 200%;
+ padding-left: 5px;
+ font-weight: bold;
+ }
+ .td-title {
+ color: white;
+ font-size: 120%;
+ font-weight: bold;
+ padding-left: 5px;
+ text-transform: uppercase;
+ }
+ .td-title-tests {
+ font-weight: bold;
+ font-size: 120%;
+ }
+ .td-header-maven-module {
+ font-weight: bold;
+ font-size: 120%;
+ }
+ .td-maven-artifact {
+ padding-left: 5px;
+ }
+ .tr-title {
+ background-color: <%= (build.result == null || build.result.toString() == 'SUCCESS') ? '#27AE60' : build.result.toString() == 'FAILURE' ? '#E74C3C' : '#f4e242' %>;
+ }
+ .test {
+ padding-left: 20px;
+ }
+ .test-fixed {
+ color: #27AE60;
+ }
+ .test-failed {
+ color: #E74C3C;
+ }
+</STYLE>
+<BODY>
+
+<%
+ import hudson.model.*
+
+ 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"];
+%>
+
+Statistics changes since last commit:<br>
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/deltas/9.1
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/deltas/4.2
+<pre> Correlation:
+<pre> 4.2:<br>
+
+${CORREL_42}
+
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.html
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/gtx480-cycles.html.GTX480-PTXPLUS.GTX480.appsincluded.txt
+<pre> 9.1:<br>
+
+
+${CORREL_91}
+
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.html
+<pre> https://engineering.purdue.edu/tgrogers/gpgpu-sim-plots/jenkins/${JOB_NAME}/${BUILD_NUMBER}/titanv-cycles.html.TITANV.appsincluded.txt
+<br><br>
+See ${BUILD_URL} for full build detials.
+</BODY>