1. 01 Jun, 2015 5 commits
  2. 22 May, 2015 3 commits
  3. 21 May, 2015 6 commits
  4. 26 Mar, 2015 1 commit
    • Lorenz Huedepohl's avatar
      A couple of new routines to query usage of children · d336cb45
      Lorenz Huedepohl authored
      The type timer_t got two new kind of methods to query information about
      the resource usage if its children. The method
      queries the seconds spent in all children of the queried node, and
      conversely returns the number of seconds spent excluding all children.
      Additionally, there also version where the node in question is passed
      directly instead of by a string path (*_node) and versions where the
      result is a type(value_t) with all measurements (get_value_*).
  5. 25 Mar, 2015 1 commit
  6. 24 Mar, 2015 2 commits
  7. 20 Mar, 2015 1 commit
  8. 19 Mar, 2015 6 commits
  9. 16 Mar, 2015 1 commit
  10. 12 Mar, 2015 2 commits
  11. 04 Mar, 2015 1 commit
  12. 02 Mar, 2015 3 commits
  13. 27 Feb, 2015 1 commit
  14. 25 Feb, 2015 1 commit
  15. 16 Feb, 2015 1 commit
    • Lorenz Huedepohl's avatar
      C-API for ftimings · c9a7e72c
      Lorenz Huedepohl authored
      This is rather big update, ftimings can now be used via a C-Api, see
      test/c_test.c for an example on how to use it.
      This step lead to a slight overhaul also of the Fortran API, there are
      now also a number of ..._node member functions of timer_t that can be
      used if cannot or does not want to specify the node of interest via an
      explicit chain of names. An example:
      Instead of
        type(timer_t) :: timer
        call timer%print("foo", "bar", "baz")
      one can now also do
        type(timer_t) :: timer
        type(node_t) :: node
        node = timer%get_root_node()
        node = node%get_child("foo")
        node = node%get_child("bar")
        node = node%get_child("baz")
        call timer%print_node(node)
      This construction might sometimes be necessary, e.g. if the hierarchy is
      very dynamic or if the current provided maximum number of six levels in
      the non-_node functions is not sufficient (but think about if you REALLY
      need more than six levels..).
      This is similarly done on the C-side, there is even no restriction on
      the number of levels by using variadic lists. Still, also there _node
      functions are provided. All C-API symbols are prefixed with "ftimings_"
      in order to avoid name clashes.
  16. 02 Feb, 2015 1 commit
    • Lorenz Huedepohl's avatar
      Measure RAM access with Linux perf API · 49797bea
      Lorenz Huedepohl authored
      There is currently no reliable way to measure RAM accesses with PAPI,
      the previous way by counting load and store instructions is not very
      useful, as it is unknown how many bytes are transferred in each
      On certain CPUs there is a reliable way to measure this via an "uncore"
      performance counter, one can check if your CPU (and/or Linux kernel
      version) support this by checking if the files
      To access these counter from an unprivileged program one has to set the
      "paranoia" level of the perf subsystem to at most 0, adjustable via the
      Along with this change there is a small API/ABI breakage as some keyword
      arguments related to the memory measurement have been renamed/split-up.
  17. 21 Jul, 2014 3 commits
  18. 18 Jun, 2014 1 commit