Skip to content

Releases: NERSC/timemory

Improved formatting control of timers and rss::usage

25 Apr 21:16
Compare
Choose a tag to compare
  • Large re-write of formatting
  • Python format module with classes timemory.format.rss and timemory.format.timer
  • Python units module
  • timemory.rss_usage has more initialization options
  • Intel -xHOST and -axMIC-AVX512 flags enabled for Intel compilers
  • Added units.hpp
  • Added formatters.{hpp,cpp}
  • Removed namespace.hpp
  • Some minor serialization updates
  • Relocated ^/pybind11 to ^/source/python
  • TIMEMORY_INTEL_{C,CXX}_AVX512={ON,OFF}
  • INTEL_{C,CXX}_COMPILER_FLAGS=""
  • format names variables prefix/suffix instead of begin/close
  • rss::usage has more format constructors

TiMemory 1.3.1

14 Apr 00:53
Compare
Choose a tag to compare
  • Custom TiMemory namespace was removed, now just "tim"
  • Large rewrite of plotting utilities resulting in a significant improvement
  • Replaced timing_manager with manager but typedef in C++ and Python to allow backwards-compatibility
  • Added new features to auto_timer
  • Removed clone from timer
  • Added rss_{tot,self}_min
  • Updated pybind11 to v2.2.2
  • Updated docs and README.rst
  • Shared library linking + plotting fixes
  • Python install now includes C++ development files
  • All cmake options are not prefixed with TIMEMORY_
  • Improved Windows DLL support (full support for Windows shared and static lib)
  • setup.py will install CMake config properly
  • platform-default settings on whether to use dynamic linking (Windows=OFF, else=ON)
  • Improved testing + memory unit improvements
  • Memory units are now always in multiples of 1024
  • Added some thread-safety
  • Updated README to deprecate is_class in decorator

PyPi version 1.2.0

11 Feb 23:41
Compare
Choose a tag to compare
- Large restructuring to fix submodule nesting issue
  
    - Python > 3.1 now allows: "from timemory.util import rss_usage"  
    - requires importlib.util
    - not available in older versions
      
- Better C++ auto_timer tagging and second option
  
     - TIMEMORY_AUTO_TIMER (func@'file':line)
     - TIMEMORY_AUTO_TIMER_SIMPLE (func)
     - TIMEMORY_AUTO_TIMER_SIMPLE was the old TIMEMORY_AUTO_TIMER
       
- Squashed bugs + I/O and test improvements
- Excluded non-displayed timers (i.e. falling below minimum) from setting the output width
- Improved MPI detection          
- Included tests in installation --> timemory.tests.run(pattern="")
- timemory.plotting routines have improved handling of bar graphs to help eliminate hidden graphs in the overlay
- added context managers
- moved report_fname field in options to report_filename
- moved serial_fname field in options to serial_filename
- I/O fix for RSS to report negative values (i.e. deallocation)
- Backported CMake to support older version of CMake (previous min: 3.1.3, new min: 2.8.12)
- added `timemory.set_exit_action(...)` capability for defining a function to handle the exit of the application due to a signal being raised (e.g. SIGHUP, SIGINT, SIGABRT)
- removed Python 'cmake' requirement in 'setup.py

PyPi version 1.1.1

29 Jan 23:10
Compare
Choose a tag to compare
  • First full release
  • Added 'report_at_exit' for auto_timer
  • Added 'added_args' flag for auto_timer decorator
  • Fixed I/O output bug
  • Added setup.cfg
  • Fixed auto_timer decorator issue with self.key, self.is_class, and self.add_args

Extensions + Windows support - PyPi v1.1b0

27 Jan 11:25
Compare
Choose a tag to compare
  • added rss_usage decorator
  • Complete Windows support (tested on Windows 10 64-bit with MSVC 14 [2015])
  • made a base class for the decorators
  • update the setup.py to 1.1b0
  • +=, -=, +, -, current, and peak methods to RSS in Python
  • updated timemory_test.py
  • restructured submodules: originally all submodules were under util, now only the decorators live there
  • new submodules are: options, mpi_support, plotting, util, and signals
  • timemory.options: I/O options, formerly timemory.util.options
  • timemory.plotting: plotting utilities, formerly timemory.util.plot
  • timemory.util: decorators, formerly all-encompassing submodule
  • timemory.signals: signal enumeration, new submodule
  • timemory.mpi_support: report MPI information, new submodule
  • added new RSS capability (+=, -= usage)
  • added Python RSS interface
  • added signals interface

TiMemory v1.0.0

24 Jan 22:45
Compare
Choose a tag to compare

A working version of TiMemory. Includes a beta version for Python -- available with pip install timemory or python setup.py build install from the source directory.

The Python version is still in beta because not all of the features in C++ have been made accessible to Python yet. For example:

  • defining a different set of signal catching can only be done in C++, although it can still be controlled via environment variables.
  • Implementing a custom function when a signal is caught can only be done with C++