coverage_test.sh 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. #!/bin/bash
  2. #
  3. # StarPU
  4. # Copyright (C) INRIA 2008-2009 (see AUTHORS file)
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU Lesser General Public License as published by
  8. # the Free Software Foundation; either version 2.1 of the License, or (at
  9. # your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. #
  15. # See the GNU Lesser General Public License in COPYING.LGPL for more details.
  16. #
  17. DIR=$PWD
  18. ROOTDIR=$DIR/../..
  19. COVDIR=$PWD/coverage
  20. BUILDDIR=$PWD/build/
  21. INSTALLDIR=$PWD/local/
  22. EXAMPLEDIR=$INSTALLDIR/lib/starpu/examples/
  23. mkdir -p $INSTALLDIR
  24. mkdir -p $BUILDDIR
  25. init()
  26. {
  27. mkdir -p $COVDIR
  28. lcov --directory $BUILDDIR --zerocounters > /dev/null
  29. }
  30. save_cov()
  31. {
  32. testname=$1
  33. lcov --directory $BUILDDIR --capture --output $COVDIR/$testname.info > /dev/null
  34. lcov -a $COVDIR/$testname.info -o $COVDIR/all.info > /dev/null
  35. }
  36. generatehtml()
  37. {
  38. cd $COVDIR
  39. genhtml all.info
  40. cd -
  41. }
  42. apps()
  43. {
  44. echo "incrementer"
  45. timing=`$EXAMPLEDIR/incrementer 2> /dev/null`
  46. save_cov "incrementer";
  47. echo "tag_example"
  48. timing=`$EXAMPLEDIR/tag_example -iter 64 -i 128 -j 24 2> /dev/null`
  49. save_cov "tag_example";
  50. echo "tag_example2"
  51. timing=`$EXAMPLEDIR/tag_example2 -iter 64 -i 128 2> /dev/null`
  52. save_cov "tag_example2";
  53. # echo "spmv"
  54. # timing=`$BUILDDIR/examples/spmv/dw_spmv 2> /dev/null`
  55. # save_cov "spmv";
  56. # echo "spmv.gpu"
  57. # timing=`STARPU_NCPUS=0 $BUILDDIR/examples/spmv/dw_spmv 2> /dev/null`
  58. # save_cov "spmv.gpu";
  59. # echo "spmv.cpu"
  60. # timing=`STARPU_NCUDA=0 $BUILDDIR/examples/spmv/dw_spmv 2> /dev/null`
  61. # save_cov "spmv.cpu";
  62. # echo "spmv.dm"
  63. # timing=`STARPU_SCHED="dm" $BUILDDIR/examples/spmv/dw_spmv 2> /dev/null`
  64. # save_cov "spmv.dm";
  65. # echo "spmv.dmda"
  66. # timing=`STARPU_SCHED="dmda" $BUILDDIR/examples/spmv/dw_spmv 2> /dev/null`
  67. # save_cov "spmv.dmda";
  68. echo "strassen.ws"
  69. timing=`STARPU_SCHED="ws" $EXAMPLEDIR/dw_strassen -rec 3 -size 2048 -pin 2> /dev/null`
  70. save_cov "strassen.ws";
  71. echo "strassen.dm"
  72. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/dw_strassen -rec 3 -size 2048 -pin 2> /dev/null`
  73. save_cov "strassen.dm";
  74. echo "strassen.dmda"
  75. timing=`STARPU_SCHED="dmda" $EXAMPLEDIR/dw_strassen -rec 3 -size 2048 -pin 2> /dev/null`
  76. save_cov "strassen.dmda";
  77. echo "chol.dm"
  78. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dm" $EXAMPLEDIR/dw_cholesky -pin 2> /dev/null`
  79. save_cov "chol.dm";
  80. echo "chol.dmda"
  81. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dmda" $EXAMPLEDIR/dw_cholesky -pin 2> /dev/null`
  82. save_cov "chol.dmda";
  83. echo "chol.cpu"
  84. timing=`STARPU_CALIBRATE=1 STARPU_NCUDA=0 STARPU_SCHED="dm" $EXAMPLEDIR/dw_cholesky -pin 2> /dev/null`
  85. save_cov "chol.cpu";
  86. echo "chol.gpu"
  87. timing=`STARPU_CALIBRATE=1 STARPU_NCPUS=0 STARPU_SCHED="dm" $EXAMPLEDIR/dw_cholesky -pin 2> /dev/null`
  88. save_cov "chol.gpu";
  89. echo "chol"
  90. timing=`$EXAMPLE/dw_cholesky 2> /dev/null`
  91. save_cov "chol";
  92. echo "heat.dm.4k.calibrate.v2"
  93. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 66 -nblocks 4 -v2 -pin 2> /dev/null`
  94. save_cov "heat.dm.4k.calibrate.v2";
  95. echo "heat.dm.8k.calibrate.v2"
  96. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -v2 -pin 2> /dev/null`
  97. save_cov "heat.dm.8k.calibrate.v2";
  98. echo "heat.dm.16k.calibrate.v2"
  99. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 130 -nthick 130 -nblocks 16 -v2 -pin 2> /dev/null`
  100. save_cov "heat.dm.16k.calibrate.v2";
  101. echo "heat.dm.8k.no.pin.v2"
  102. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -v2 2> /dev/null`
  103. save_cov "heat.dm.8k.no.pin.v2";
  104. echo "heat.prio.8k"
  105. timing=`STARPU_SCHED="prio" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -v2 -pin 2> /dev/null`
  106. save_cov "heat.prio.8k";
  107. echo "heat.dm.8k.v2.no.prio"
  108. timing=`STARPU_SCHED="no-prio" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 2> /dev/null`
  109. save_cov "heat.dm.8k.v2.no.prio";
  110. echo "heat.dm.8k.v2.random"
  111. timing=`STARPU_SCHED="random" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 2> /dev/null`
  112. save_cov "heat.dm.8k.v2.random";
  113. echo "heat.dm.8k.v2"
  114. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 2> /dev/null`
  115. save_cov "heat.dm.8k.v2";
  116. echo "heat.dm.16k.v2"
  117. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 130 -nthick 130 -nblocks 16 -pin -v2 2> /dev/null`
  118. save_cov "heat.dm.16k.v2";
  119. echo "heat.ws.8k.v2"
  120. timing=`STARPU_SCHED="ws" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 2> /dev/null`
  121. save_cov "heat.ws.8k.v2";
  122. echo "heat.greedy.8k.v2"
  123. timing=`STARPU_SCHED="greedy" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 2> /dev/null`
  124. save_cov "heat.greedy.8k.v2";
  125. echo "heat.8k.cg"
  126. timing=`$EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 -cg 2> /dev/null`
  127. save_cov "heat.8k.cg";
  128. echo "heat.dm.8k.cg"
  129. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v2 -cg 2> /dev/null`
  130. save_cov "heat.dm.8k.cg";
  131. echo "heat.dm.8k.v3"
  132. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/heat -ntheta 66 -nthick 130 -nblocks 8 -pin -v3 2> /dev/null`
  133. save_cov "heat.dm.8k.v3";
  134. echo "mult.dm.common"
  135. timing=`STARPU_SCHED="dm" $EXAMPLEDIR/dw_mult -nblocks 4 -x 4096 -y 4096 -z 1024 -pin -common-model 2> /dev/null`
  136. save_cov "mult.dm.common";
  137. echo "mult.dm"
  138. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dm" $EXAMPLEDIR/dw_mult -nblocks 8 -x 8192 -y 8192 -z 8192 -pin 2> /dev/null`
  139. save_cov "mult.dm";
  140. echo "mult.dmda"
  141. timing=`STARPU_CALIBRATE=1 STARPU_SCHED="dmda" $EXAMPLEDIR/dw_mult -nblocks 8 -x 8192 -y 8192 -z 8192 -pin 2> /dev/null`
  142. save_cov "mult.dmda";
  143. }
  144. make -C ../../ distclean
  145. cd $BUILDDIR
  146. ../../../configure --prefix=$INSTALLDIR --enable-coverage
  147. init;
  148. make clean 1> /dev/null 2> /dev/null
  149. make check
  150. make install -j 1> /dev/null 2> log
  151. apps;
  152. ../../../configure --prefix=$INSTALLDIR --enable-coverage --enable-data-rw-lock
  153. make check
  154. make install -j 1> /dev/null 2> log
  155. apps;
  156. generatehtml;