You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Anaconda environments. There are two anaconda environments included
inside the source folder at the moment. anaconda-environment.yml and dev-environment.yml. These should provide a nice starting point for
anyone wanting to work on or with PyPWA. Pull requests are welcomed
if you think a package should be added to the base environment.
Added PyTorch for GPU and Apple Metal support. Can be specified during
install using pip install pypwa[torch]. Amplitude support is specified
by setting the USE_TORCH flag to True.
Added support for Python's Multithreading. You should only use this when
computation is happening on separate nodes and/or your optimizer choice
does not support passing it's values across an OS Pipe.
Added support for Minuit's parameter array argument. Now amplitudes can
be written to accept a single array containing all the array values.
Debugging support for amplitudes is now explicit. You can set the DEBUG
flag to True on your amplitude before simulation or fitting, and it'll run
in the main process so traceback and errors will not be suppressed.
Amplitudes can now know where they live. Amplitudes have a THREAD flag
that is numbered from 0 to N-threads that will specify which thread the
amplitude is running in. This is useful if you want to pair your
processes/threads with external devices like GPUs or OpenMPI nodes.
Changed
Data module will no longer bury the Cache object. The cache object will
now reside in the same directory as the parsed data.
Moves Emcee to an optional dependency so that PyPWA can function in a
base anaconda environment. If Emcee is installed, or if emcee is
specified during installation using pip install pypwa[emcee], the
emcee functionality will be usable.
iMinuit has changed their ABI entirely, so the iminuit function has
been changed to adapt to the new ABI.
Updated all dependencies around ReadTheDocs to avoid GitHub flagging
the dependencies for exploits.
Removed
Project manager. There were several bugs throughout the module, and as
far as we are aware, no users using the module. If you're affected by
this change, please open an issue in the issue tracker to let us know.
Removed the command line Binning utility. The Jupyter-based and
internal binning utilities remain unaffected. If this affects you,
please open an issue.
Removed appdirs as a dependency.
Removed CuPy support, replaced by PyTorch.
Removed PyYaml Configuration support.
Fixed
The bin by range function was not sampling data correctly. The intended
behaviour was for each bin to be sampled by N samples, and then those
samples to be shuffled to add randomization. However, because the
shuffling was improperly implemented, what would occur instead is a single
random event would be dropped from the sample, and then returned. This
no longer occurs, and the returned bins will now be the correct length,
and will be correctly shuffled.