Skip to content

Release 0.8.0

Latest
Compare
Choose a tag to compare
@bjoernenders bjoernenders released this 05 Feb 02:27
· 32 commits to master since this release
e412764

PtyPy 0.8 release notes

We're excited to bring you a new release, with new engines, CuPy support and other improvements. The docs aren't yet up to date with this one unfortunately but we are working on it.

GPU acceleration

An alternative CUDA implementation based on cupy has been implemented, providing the same feature as the PyCuda based engine.
It can be imported using

import ptypy
ptypy.load_gpu_engines('cupy')

which will load engines such as DM_cupy, RAAR_cupy, ML_cupy, EPIE_cupy and SDR_cupy.

Engine updates

  • New WASP algorithm including GPU acceleration, available as custom engines by importing the module from ptypy.custom (thanks to Timothy Poon)
  • Experimental implementation of the ThreePIE algorithm (multislice) which is available as custom engine by importing the module
    ptypy.custom.threepIE and using the engine as ThreePIE (thanks to Yiran Lu and Maik Kahnt)
  • We provide templates for both algorithms, we are working on additional documentation

Additional build changes

  • Added Euclidean noise model to core ML engine (thanks to Jari Fowkes)
  • New saving mode "used_params" that will save parameters used during reconstruction into the output .ptyr file
  • Introducing core functions copy_state and restore_data which allow for more efficient parameter sweeps

Breaking change

Removed NCCL support from pycuda engines to avoid dependency on CuPy. The new CuPy engines have been implemented with NCCL support.

Contributors

  • Benedikt Daurer
  • Timothy Poon
  • Joerg Lotze
  • Bjoern Enders
  • Maik Kahnt
  • Yiran Lu
  • Jari Fowkes