Skip to content

Releases: zpzim/SCAMP

v4.0.1

22 Jan 03:54
b55f1ba
Compare
Choose a tag to compare

What's Changed

  • Update issue templates by @zpzim in #114
  • Update documentation with additional information. by @zpzim in #117
  • Improve benchmarking to add stable CPU benchmarks and reduce variance on Github runners. by @zpzim in #118
  • Add GPU integration tests. by @zpzim in #81
  • Fix some broken links in intro.rst by @zpzim in #119
  • Add support for cuda 12 builds by @zpzim in #124
  • Update docker build to cuda 12.3.1 by @zpzim in #125
  • Add readthedocs config by @zpzim in #126

Full Changelog: v4.0.0...v4.0.1

v4.0.0-doi

01 Aug 00:10
27e617f
Compare
Choose a tag to compare

What's Changed

  • Update issue templates by @zpzim in #114
  • Update documentation with additional information. by @zpzim in #117
  • Improve benchmarking to add stable CPU benchmarks and reduce variance on Github runners. by @zpzim in #118
  • Add GPU integration tests. by @zpzim in #81
  • Fix some broken links in intro.rst by @zpzim in #119

Full Changelog: v4.0.0...v4.0.0-doi

v4.0.0

13 Jun 01:10
c1ed842
Compare
Choose a tag to compare

This release will be the first one officially supporting pyscamp distributions on conda-forge. Shortly after this release goes live, you should be able to install SCAMP via:

conda install pyscamp-gpu -c conda-forge to install a CPU/GPU enabled pyscamp on Windows and Linux.

conda install pyscamp-cpu -c conda-forge to install a CPU-only version of pyscamp on Windows, Linux, and MacOS.

This release introduces a couple of breaking changes needed in order to support these distributions and further development on SCAMP.

  1. CUDA 11.0 or higher is required to build SCAMP now.
  2. The minimum cmake requirement has been increased to 3.18

What's Changed

  • Update SCAMP to require CUDA 11.0 or greater. by @zpzim in #109
  • Update docs with information on conda package availability by @zpzim in #111

Full Changelog: v3.0.3...v4.0.0

v3.0.3

09 Jun 16:55
82b2d43
Compare
Choose a tag to compare

This release addresses the remaining issues preventing the distribution of pyscamp on conda-forge.

What's Changed

  • Cleanup to support conda packaging of pyscamp by @zpzim in #105

Full Changelog: v3.0.2...v3.0.3

v3.0.2

08 Jun 16:29
Compare
Choose a tag to compare

This release introduces some additional fixes to make pyscamp ready for a conda package.

What's Changed

  • Fix some build issues with redistributable binaries on windows and mac by @zpzim in #102
  • Clean up python module by @zpzim in #103

Full Changelog: v3.0.1...v3.0.2

v3.0.1

06 Jun 19:22
392c2e4
Compare
Choose a tag to compare

Since the beginning of the project, SCAMP has used -march=native and the like to maximize CPU performance on the host system. Unfortunately, this also makes it so we can't redistribute SCAMP binaries or pyscamp wheels, etc.

In preparation for distributing SCAMP binaries, this release adds an optional environment variable which makes SCAMP binaries redistributable SCAMP_ENABLE_BINARY_DISTRIBUTON=ON

In order to retain some semblance of performance in this mode. I have added code paths in the cpu kernel library which will execute based on runtime checks of the host CPU architecture, in particular, there are code paths for AVX and AVX2 in addition to a baseline version with SSE2. This may result in some issues with older processors in the redistributable binaries, I have added tests which emulate various configurations of concern to validate the redistributable builds work with varying levels of processor SIMD support.

The Docker build and released container will build with this configuration moving forward. As of now, pyscamp remains an sdist on pypi, the goal will be to publish a conda-forge package for pyscamp which builds these redistributable binaries.

What's Changed

  • Allow SCAMP binaries to be optionally redistributable by @zpzim in #99
  • Fix linker errors that can occur when building pyscamp shared libs. by @zpzim in #100

Full Changelog: v3.0.0...v3.0.1

v3.0.0

26 Feb 23:04
8d40eb8
Compare
Choose a tag to compare

This release makes Windows builds a bit more flexible and reliable, in preparation for putting out a conda package for pyscamp.

There are some backwards incompatible changes made from the previous release:

  1. pyscamp requires cmake 3.15 or greater now (up from 3.12). Most users should have a much more recent version of cmake anyway so this shouldn't be too big an issue.
  2. Some changes were made to how to specify environment variables to set compilers/generators for SCAMP and pyscamp, overall this should be more aligned with the normal usage of cmake. Documentation has been updated to reflect these changes.

What's Changed

  • Clean up pyscamp build logic in setup.py by @zpzim in #96

Full Changelog: v2.1.3...v3.0.0

v2.1.3

14 Feb 16:39
4db3e25
Compare
Choose a tag to compare

Pyscamp fix: This release fixes pyscamp by including the appropriate files in the sdist.
Performance Improvments: CPU kernels now use Eigen, improving performance on various platforms. Now auto-detects and enables AVX when using MSVC

What's Changed

  • Use Eigen to improve readability and cross-platform performance of CPU kernels. by @zpzim in #86
  • Fix pyscamp sdist to include the appropriate files to build the distribution by @zpzim in #90
  • Refactor benchmarks suite, add gpu benchmarks. by @zpzim in #88
  • Add various improvements to compile options. Including Automatic AVX detection for MSVC. by @zpzim in #91
  • Apply optimizations to CPU Kernel reductions to improve performance on various toolchains. by @zpzim in #93

Full Changelog: v2.1.2...v2.1.3

v2.1.2

07 Feb 07:19
7ae38ce
Compare
Choose a tag to compare

What's Changed

This release contains an important bugfix (#82) for pyscamp GPU users. It also adds support for generating matrix summaries using CPU kernels. Matrix Summaries are no longer restricted to GPU.

  • Important Bugfix: Prevent accidental generation additional gpu threads causing incorrect output in some cases when using pyscamp by @zpzim in #83
  • Add CPU matrix summary profiles by @zpzim in #77

Full Changelog: v2.1.1...v2.1.2

v2.1.1

19 Jan 22:18
0f8c54a
Compare
Choose a tag to compare

This release should significantly improve CPU performance for Windows and Mac users.

What's Changed

  • Cleanup unused code, update LICENSE, README, and docs, reorganize submodules by @zpzim in #76
  • Add benchmarks for CPU Kernels by @zpzim in #79
  • Dramatically improve performance of CPU kernels on less sophisticated compilers by @zpzim in #78

Full Changelog: v2.1.0...v2.1.1