11debugging_tools.doxy 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * This file is part of the StarPU Handbook.
  3. * Copyright (C) 2009--2011 Universit@'e de Bordeaux 1
  4. * Copyright (C) 2010, 2011, 2012, 2013, 2014 Centre National de la Recherche Scientifique
  5. * Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
  6. * See the file version.doxy for copying conditions.
  7. */
  8. /*! \page DebuggingTools Debugging Tools
  9. StarPU provides several tools to help debugging applications. Execution traces
  10. can be generated and displayed graphically, see \ref
  11. GeneratingTracesWithFxT.
  12. Some gdb helpers are also provided to show the whole StarPU state:
  13. \verbatim
  14. (gdb) source tools/gdbinit
  15. (gdb) help starpu
  16. \endverbatim
  17. Valgrind can be used on StarPU: valgrind.h just needs to be found at ./configure
  18. time, to tell valgrind about some known false positives. When working with GPUs,
  19. memory pinning should be disabled with
  20. export STARPU_DISABLE_PINNING=1
  21. otherwise valgrind will not properly catch errors about data allocated through
  22. starpu_malloc and friends.
  23. The Temanejo task debugger can also be used, see \ref UsingTheTemanejoTaskDebugger.
  24. \section UsingTheTemanejoTaskDebugger Using The Temanejo Task Debugger
  25. StarPU can connect to Temanejo >= 1.0rc2 (see
  26. http://www.hlrs.de/temanejo), to permit
  27. nice visual task debugging. To do so, build Temanejo's <c>libayudame.so</c>,
  28. install <c>Ayudame.h</c> to e.g. <c>/usr/local/include</c>, apply the
  29. <c>tools/patch-ayudame</c> to it to fix C build, re-<c>./configure</c>, make
  30. sure that it found it, rebuild StarPU. Run the Temanejo GUI, give it the path
  31. to your application, any options you want to pass it, the path to <c>libayudame.so</c>.
  32. Make sure to specify at least the same number of CPUs in the dialog box as your
  33. machine has, otherwise an error will happen during execution. Future versions
  34. of Temanejo should be able to tell StarPU the number of CPUs to use.
  35. Tag numbers have to be below <c>4000000000000000000ULL</c> to be usable for
  36. Temanejo (so as to distinguish them from tasks).
  37. */