Sycomore

Latest version: v1.3.2

Safety actively analyzes 627604 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.3.1

This is a bugfix release, plugging a memory leak.

1.3.0

This version has deeply modified the EPG code, with large speed-ups and new operators.

**Ludicrous speed** Parallelism based on [OpenMP](https://www.openmp.org/) has been replaced with SIMD instructions, based on [xsimd](https://xsimd.readthedocs.io/en/latest). Careful benchmarking the previous version has shown that multiple threads within a single model did not consistently provide speed-ups, and in certain cases caused slow-downs; the chosen SIMD approach better exploits the features of modern CPUs while still allowing between-models multi-threading.

On top of that, the culling of extremal and empty states was added to the regular EPG model, reducing the number of states and thus the run time.

A [DESS](http://doi.wiley.com/10.1002/mrm.1910070105) benchmark between the previous version and the current version shows a speed-up of at least x7.6. Note that since the thresholding was added to the regular EPG model for the current version, the speed-up cannot be computed for this case.

| Model | v1.2.1 (ms) | v1.3.0 (ms) | Speed-up |
| -------------------- | -------------------- | ----------- | -------- |
| Regular (ϵ=0) | 138.15 (16 threads) | 8.51 | 16.23 |
| Regular (ϵ=10⁻⁶) | N/A | 1.54 | N/A |
| Discrete (ϵ=0) | 364.43 (16 threads) | 17.42 | 20.92 |
| Discrete (ϵ=10⁻⁶) | 20.45 (1 thread) | 2.69 | 7.60 |
| Discrete 3D (ϵ=0) | 1838.18 (1 thread) | 28.95 | 63.49 |
| Discrete 3D (ϵ=10⁻⁶) | 41.91 (1 thread) | 4.44 | 9.44 |

**New EPG operators** Off-resonance and bulk motion have been added to all three EPG variants.

**Sundries**
- The [documentation](https://sycomore.readthedocs.io/) has been upgraded to use [Pweave](https://mpastell.com/pweave/): the generation of figures is now self-contained.
- The continuous integration has been moved from TravisCI to Github and improved with respect to compilation on Windows and generation of Python wheels.

1.2.1

Bug fix: compilation with Visual Studio

1.2.0

New features
- Better integration of Quantity objects with numpy
- Add arbitrary gradient shift to epg.Regular
- Easier access to orders in epg.Discrete3D

1.1.0

- Improved definition and handling of TimeInterval
- Improved docstrings of Python objects

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.