Releases: plasma-umass/scalene
Releases · plasma-umass/scalene
Bugfix release
- fixed AttributeError bug running with
--cpu-only
;
Bug fixes and new wheels
- fixed synchronization and multiprocessing support for
--profile-interval
; - fixed certain profiling data possibly being included when profiling was turned off;
- wheels (binary builds) now available from pypi for Linux (x86_64) and MacOS (x86_64 and M1);
Bugfix for Mac
Fixes a bug exposed on Mac OS X when using packages that include SQLite.
GPU profiling, suspend and resume profiling, improved Jupyter support
This release includes the following major new features:
- GPU profiling. If your system has an nvidia GPU, the profiler will automatically do line-level GPU utilization profiling (just like it already does for CPU).
- Suspend/resume. When Scalene is profiling a program launched in the background (via
&
), you can now suspend and resume profiling. To suspend profiling of pid12345
(Scalene will print the pid when launched in the background):python3 -m scalene.profile --off --pid 12345
. To resume profiling:python3 -m scalene.profile --on --pid 12345
. - Improved Jupyter support. Scalene now indicates in its profiles which Jupyter cell a function was defined in, as in
[5]
. - Various bug fixes that improve Scalene's robustness, especially when profiling code using multithreaded libraries like
numpy
.
Major update, support and features
- Jupyter support (currently CPU profiling only); use
%scrun
or%%scalene
- Function summaries: sorted list of functions by CPU time
- Memory consumption: reports top K lines allocating the most memory
- Reports memory growth over time (indicating possible leaks)
- Line-level memory leak detection "for free"
- Full
multiprocessing
support - Adds
--profile-only
flag to restrict profiling to files that contain the given string - Massive refactoring and cleanup of codebase