Releases: zpzim/SCAMP
v4.0.1
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
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
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.
- CUDA 11.0 or higher is required to build SCAMP now.
- 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
v3.0.2
v3.0.1
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
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:
- 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.
- 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
Full Changelog: v2.1.3...v3.0.0
v2.1.3
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
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
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