sgemm.sh 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/sh -x
  2. # StarPU --- Runtime system for heterogeneous multicore architectures.
  3. #
  4. # Copyright (C) 2017-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  5. # Copyright (C) 2018 Federal University of Rio Grande do Sul (UFRGS)
  6. #
  7. # StarPU is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU Lesser General Public License as published by
  9. # the Free Software Foundation; either version 2.1 of the License, or (at
  10. # your option) any later version.
  11. #
  12. # StarPU is distributed in the hope that it will be useful, but
  13. # WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. #
  16. # See the GNU Lesser General Public License in COPYING.LGPL for more details.
  17. #
  18. # Test parsing of FxT traces
  19. # Testing another specific scheduler, no need to run this
  20. [ -z "$STARPU_SCHED" -o "$STARPU_SCHED" = dmdas ] || exit 77
  21. # XXX: Also see tests/overlap/overlap.sh
  22. set -e
  23. PREFIX=$(dirname $0)
  24. if [ -n "$STARPU_MIC_SINK_PROGRAM_PATH" ] ; then
  25. STARPU_MIC_SINK_PROGRAM_NAME=$STARPU_MIC_SINK_PROGRAM_PATH/sgemm
  26. # in case libtool got into play
  27. [ -x "$STARPU_MIC_SINK_PROGRAM_PATH/.libs/sgemm" ] && STARPU_MIC_SINK_PROGRAM_NAME=$STARPU_MIC_SINK_PROGRAM_PATH/.libs/sgemm
  28. fi
  29. STARPU_SCHED=dmdas STARPU_FXT_PREFIX=$PREFIX/ $PREFIX/sgemm
  30. [ ! -x $PREFIX/../../tools/starpu_perfmodel_display ] || $STARPU_LAUNCH $PREFIX/../../tools/starpu_perfmodel_display -s starpu_sgemm_gemm
  31. [ ! -x $PREFIX/../../tools/starpu_perfmodel_display ] || $STARPU_LAUNCH $PREFIX/../../tools/starpu_perfmodel_display -x -s starpu_sgemm_gemm
  32. [ ! -x $PREFIX/../../tools/starpu_perfmodel_recdump ] || $STARPU_LAUNCH $PREFIX/../../tools/starpu_perfmodel_recdump -o perfs.rec
  33. [ -f perfs.rec ]
  34. if [ -x $PREFIX/../../tools/starpu_fxt_tool ];
  35. then
  36. $STARPU_LAUNCH $PREFIX/../../tools/starpu_perfmodel_plot -s starpu_sgemm_gemm -i $PREFIX/prof_file_${USER}_0
  37. [ -f starpu_starpu_sgemm_gemm.gp -a -f starpu_starpu_sgemm_gemm.data -a -f starpu_starpu_sgemm_gemm.data ]
  38. # Generate paje, dag, data, etc.
  39. $STARPU_LAUNCH $PREFIX/../../tools/starpu_fxt_tool -memory-states -label-deps -i $PREFIX/prof_file_${USER}_0
  40. $PREFIX/../../tools/starpu_paje_sort paje.trace
  41. ! type pj_dump || pj_dump -e 0 < paje.trace
  42. $PREFIX/../../tools/starpu_codelet_profile distrib.data starpu_sgemm_gemm
  43. [ -f distrib.data.gp -a \( -f distrib.data.0 -o -f distrib.data.1 -o -f distrib.data.2 -o -f distrib.data.3 -o -f distrib.data.4 \) ]
  44. $STARPU_LAUNCH $PREFIX/../../tools/starpu_fxt_data_trace $PREFIX/prof_file_${USER}_0 starpu_sgemm_gemm
  45. [ -f data_trace.gp ]
  46. $STARPU_LAUNCH $PREFIX/../../tools/starpu_fxt_stats -i $PREFIX/prof_file_${USER}_0
  47. $STARPU_LAUNCH $PREFIX/../../tools/starpu_tasks_rec_complete tasks.rec tasks2.rec
  48. python $PREFIX/../../tools/starpu_trace_state_stats.py trace.rec
  49. $PREFIX/../../tools/starpu_workers_activity activity.data
  50. [ -f activity.eps ]
  51. # needs some R packages
  52. $PREFIX/../../tools/starpu_paje_draw_histogram paje.trace || true
  53. $PREFIX/../../tools/starpu_paje_state_stats paje.trace || true
  54. $PREFIX/../../tools/starpu_paje_summary paje.trace || true
  55. $PREFIX/../../tools/starpu_codelet_histo_profile distrib.data || true
  56. [ -f distrib.data.starpu_sgemm_gemm.0.492beed5.33177600.pdf ] || true
  57. if [ -x $PREFIX/../../tools/starpu_replay ]; then
  58. $STARPU_LAUNCH $PREFIX/../../tools/starpu_replay tasks.rec
  59. fi
  60. [ ! -x $PREFIX/../../tools/starpu_perfmodel_recdump ] || $STARPU_LAUNCH $PREFIX/../../tools/starpu_perfmodel_recdump tasks.rec -o perfs2.rec
  61. [ -f perfs2.rec ]
  62. fi