1. 28 May, 2014 2 commits
  2. 13 May, 2014 1 commit
    • Lorenz Huedepohl's avatar
      Counter for memory bandwidth (loads + stores) · 803a3959
      Lorenz Huedepohl authored
      Additionally one can now also measure load and stores, and thus the
      memory bandwidth. Therefore, also the arithmetic intensity.
      One caveat, though: The user is responsible to provide a meaningful
      value for the amount of bytes transferred in one load/store, via the
      "bytes_per_ldsr" parameter of the new function %set_print_options.
      Till now, I have now way of obtaining this value programmatically, and
      it also can and will vary for different sections of a program.
      For example, a SSE movapd instructions loads/stores 16 byte, but is
      still counted as one "load and store" instruction, just as well as a
      1-byte mov. Feel free to advise me on a better set of machine counters..
      Also, somewhat updated documentation.
  3. 06 May, 2014 1 commit
    • Lorenz Huedepohl's avatar
      Allow the user to activate FLOPS/RAM measurements · 3fe6c3d1
      Lorenz Huedepohl authored
      Now, one can select which kind of measurements are taken by calling the
      member functions %measure_flops, and %measure_memory of a timer_t
      object. For example
        type(timer_t) :: timer
        call timer%measure_flops(.true.)
        call timer%measure_memory(.true.)
        call timer%enable()
      An explicit ftimings_init() call is now no longer necessary, PAPI will
      be initialized on the first %measure_flops(.true.) call.
  4. 02 May, 2014 2 commits