Corrfunc Versions Save

⚡️⚡️⚡️Blazing fast correlation functions on the CPU.

2.5.2

7 months ago

2.5.2 (04/10/2023)

This is a minor release primarily to test the (hopefully) automatic PyPI uploads

Enhancements

  • Simplified and faster FALLBACK kernels [#303]

Infrastructure

  • Fix python_requires in setup.py [#302]
  • Automatic uploads of new releases to PyPI [#305]
  • Added @dependabot for automatic dependency updates in GitHub Actions [#306, #307, #308]

Autogenerated release notes

What's Changed

New Contributors

Full Changelog: https://github.com/manodeep/Corrfunc/compare/2.5.1...2.5.2

End of Autogenerated release notes

2.5.1

9 months ago

2.5.1 (28/07/2023)

This release allows Corrfunc to be compiled and run on Apple M1/M2 cpus.

Enhancements

  • Corrfunc now compiles and runs on Apple M1/M2 cpus (using the FALLBACK kernels) [#295]

Changes

  • Python >= 3.7 and numpy >= 1.16 are required for python extensions [#291]

Enhancements

  • Warn about loss of precision for float32 calculations involving small theta in DDtheta_mocks and large mu in DDsmu_mocks [#299]

Autogenerated release notes

What's Changed

Full Changelog: https://github.com/manodeep/Corrfunc/compare/2.5.0...2.5.1

End of Autogenerated release notes

2.5.0

1 year ago

2.5.0 (2022-12-23)

This release lets users specify independent periodic lengths along each of the 3 axes. Calculations with periodic boundary conditions can now be done with max. separations up to half of the boxsize (or up to half of the smallest periodic length in case of non-cubic configurations).

Enhancements

  • Allow user to specify periodicity and box size per dimension [#276]
  • Allow larger Rmax (up to half the boxsize) [#277]

Changes

  • Add Corrfunc/tests.py to CI testing [#260]
  • Migrate doctests to Python 3.8 [#261]
  • Migrate Python tests to pytest [#265]

Fixes

  • Add additional check to tell if it's safe to redirect stdout/err [#270]
  • Check and fix z vs cz in DDrppi_mocks and DDsmu_mocks only if comoving distance flag is not set [#275]
  • Update GNU assembler bug detection [#278]
  • Fix installation instructions and update README.rst [#285]

Autogenerated release notes

What's Changed

New Contributors

Full Changelog: https://github.com/manodeep/Corrfunc/compare/2.4.0...2.5.0

End of Autogenerated release notes

2.4.0

2 years ago

2.4.0 (2021-09-30)

This release adds the boxsize parameter to the command line interfaces and requires the user to specify the box size in the Python interfaces to the periodic theory functions. It also contains a number of performance, code-quality, and user-experience improvements.

Breaking Changes

  • Require user to specify boxsize rather than automatically detect particle extent in periodic theory boxes. Applies to Python, command line, and C API. The order of some Python keyword args has also changed. [#199]

Enhancements

  • In the theoretical VPF calculation (theory.vpf), the total volume of the random spheres can now exceed the volume of the sample [#238]
  • Gridlink (the binning of particles into cells) now uses a parallel algorithm for the theory module [#239]
  • Add detection of known-bad Cray hugepages library at NERSC [#246]
  • Replace np.float with np.float64 to fix numpy 1.20 deprecation [#250]
  • Test Numpy versions as old as 1.14 and recent as 1.20 [#251]
  • Add lscpu and preprocessor defs to CI output [#259]

Bug fixes

  • Fix Python reference leak to results struct [#229]
  • Fix parsing error when periodic=False and boxsize not given in the theory module [#257]

2.3.4

3 years ago

2.3.4 (2020-07-21)

This is a bug-fix release and contains general code quality improvements.

Enhancements

  • A new helper routine to find the combination of (RA, DEC) refinements that produces fastest runtime in DDtheta_mocks [#216]
  • Further testing via GitHub Actions [#220]
  • Added Ubuntu-Xenial on Travis [#222]

Bug fixes

  • Fixing docs build failure on Travis [#215]
  • Fixing compile failure on missing 'CC' in environment [#226]

2.3.3

4 years ago

This is a bug-fix release and contains general code quality improvements.

Breaking Changes

None

New features

None

Enhancements

None

Bug fixes

  • Installation does not require python(3)-config anymore [#209, #211]
  • Better handling of terminal colours for unknown terminals [#209]
  • Prevent incorrect calculations with periodic boundaries for large ratios of (zmax, Rmax) to Lbox [see #210]

2.3.2

4 years ago

This is a release for bug-fixes, and general improvements in both documentation and code quality.

Breaking Changes

None

New features

None

Enhancements

  • Improved code quality and adherence to PEP8 [#189]
  • Documentation no longer shows duplicate entries [#205]
  • Example code to illustrate how to code custom weights with AVX512F [#205]
  • Travis now tests with python3.7 [#191]

Bug fixes

  • Incorrect calculations for non-native endian data [#191]
  • Large ratios of maximum separation to simulation box-size now supported for periodic boundaries [#192]
  • Workaround for GNU Assembler bug causing incorrect calculations [#196]
  • Only report runtime CPU instruction set if we also have compiler support [#200]

2.3.1

4 years ago

A patch release to reduce the memory footprint of the new cell-pair struct.

Breaking Changes

None

New features

None

Enhancements

  • Reduce memory footprint of the cell pairs [#186]

Bug fixes

None

2.3.0

4 years ago

Breaking Changes

None

New features

  • AVX512F kernels for all pair-counters [#167, #170, #173]
  • Faster code from new optimizations using the minimum separation between pairs of cells [#170, #173]
  • Option to use the input particle arrays directly and not make a copy of the particle positions [#173]
  • Internal code changes to (hopefully) achieve better OpenMP scaling [#173]

Bug fixes

  • Fix segmentation fault in vpf_mocks [#168]
  • Fix automatic uniform weights array when only one set of weights (or a scalar) is passed [#180]
  • Fix memory leak due to Python reference leak when using weights [#181]

2.2.0

5 years ago

Breaking Changes

  • Dropped Python 2.6 support

New features

  • Progress bar is displayed in Jupyter notebooks [#158]

Bug fixes

  • Fix virtualenv install issue [#159]
  • Error messages are displayed in Jupyter notebooks instead of the unhelpful TypeError: 'NoneType' object is not iterable. [#158]