• 2.1.0 5432202b7d

    v2.1.0
    All checks were successful
    / build-amd64 (push) Successful in 1m41s
    / build-aarch64 (push) Successful in 15m56s
    Stable

    juniper released this 2026-01-04 11:58:35 +00:00 | 0 commits to main since this release

    Major Release v2.1.0

    Changes

    • Huge refactor, a lot of code has been pulled from an older version to fix regressions in v2.0.0
    • GPUs work again!
    • Older documentation should generally still apply, but for the time being, a lot has changed
    • astra-gpu is no longer a separate module, this is because in the future it will be re-written in another language with better C compatibility (Likely C# or C++)

    Future Plans

    • Rewrite big chunks of the project in C.
      • I want to migrate the project from relying on Rust; in an ideal world you can simply use the C library for extra language support
      • A lot of the C code has been removed in this update in order to fix GPU compute and at least removes some of the overhead from Rust -> C.
    • 16 bit multithreading, and further optimizations are planned long term
    Downloads
  • v2.0.0 709feaf403

    2.0.0
    All checks were successful
    / build (push) Successful in 6m51s
    Stable

    juniper released this 2025-09-03 12:03:27 +01:00 | 26 commits to main since this release

    Major release v2.0.0.

    This update is a pretty big one with some regressions and lots of improvements.

    What's new:

    • New documentation, making the library much easier to use
      • Compilation guide for Android, Linux and Windows
      • Explanation of the C code and the relation Rust has with it
      • Quick-start guide with code examples to get going quickly
    • Huge refactor
      • It's now a Rust workspace!
      • The old C code is now in astra-common - Utilities that could be called from anywhere
      • There are now three libraries provided by astra-api, libastra32, libastra32avx2 and libastra32avx512 using no avx, avx2 and avx512 specifically
    • The compute code is now written in C, rather than Rust.
    • No longer using Rust's CC crate, instead using CMake to compile the C libraries, further separating the Rust and C codebases
    • We now have an actual build workflow!

    Regressions:

    • Slight performance decrease in some scenarios. I have a fix that will be coming in v2.0.1
    • No more 16-bit support. This will come back at some point, I just wasn't happy with the implementation of it prior

    Future Plans:

    • Astra-GPU isn't very compatible with non-rust languages, this should get changed
    • Re-implement 16-bit floats.
      • GPU support this time
      • No AVX2 support at all rather than messing with conversions to 32 bit
      • AVX512-first
    • Multithreading! This has huge promise for certain network layouts in terms of improving performance.
      • This has been experimented with before, but not to much luck.
    • Improved performance in more scenarios (I am preparing a performance uplift for v2.0.1)
    Downloads
  • v1.2.2 50e542a978

    v1.2.2 Stable

    juniper released this 2025-07-10 17:28:13 +01:00 | 146 commits to main since this release

    A minor update purely to refactor some chunks of the code - One of several to come.

    • The project is now a Rust Workspace
    • C code has been split into astra-common
    • A new "project" astra-gpu has been made to include the GPU acceleration, rather than being baked into the rest of the API
    Downloads
  • v1.2.1 41c54fc73b

    v1.2.1 Stable

    juniper released this 2025-07-10 00:20:07 +01:00 | 170 commits to main since this release

    A minor bugfix and performance improvement patch

    • Bugfix - Prevent crash when using the sigf16 feature standalone
    • Improve performance of creating new neural networks
    • Update toml dependency to 0.9.0
    Downloads
  • v1.2.0 2baf1299c2

    v1.2.0 Stable

    juniper released this 2025-04-15 16:51:42 +01:00 | 183 commits to main since this release

    New major release, mainly focusing on 16-bit float support!

    • Added 16-bit float support (Network16Sigmoid)
    • Added support for AVX512 for 16 bit floats (Network16Sigmoid.compute_avx512() and Network16Sigmoid.compute_avx512())
    • Added dependencies section to README.md, to simplify the setup process
    • Improved existing test cases and added new test cases
    Downloads
  • v1.1.2 e5db520694

    v1.1.2 Stable

    juniper released this 2025-04-10 17:09:14 +01:00 | 202 commits to main since this release

    • Added C functions for future 16 bit float support
    • Added NeuralNetwork trait
    • Added NeuralNetworkAVX trait
    • Several small fixes and improvements
    Downloads
  • 1.1.1 4e025724fc

    v1.1.1 Stable

    juniper released this 2025-04-08 23:57:41 +01:00 | 210 commits to main since this release

    • Improvements to documentation
    • Cleaned up some internal code
    • The Neuron struct and NeuronLayer type are now generic, instead of concrete f32.
    • Improved performance of Network32Sigmoid::empty()
    • Improved error handling for common mistakes
    Downloads
  • 1.1.0 7f112ed8e0

    1.1.0 Stable

    juniper released this 2025-04-06 14:08:24 +01:00 | 224 commits to main since this release

    New release, with a ton of new features!

    • GPU-accelerated compute capability for sigmoid 32 bit networks
    • Split everything up into features, for easy support on non-x86 platforms (Such as ARM)
    • Support for ARM.
    • Add Network32Sigmoid::empty() and Network32Sigmoid.randomize() to create an empty neural network and randomize it respectively.
    • Many minor improvements, bugfixes and performance bumps
    Downloads
  • 1.0.1 a153022e59

    1.0.1 Stable

    juniper released this 2025-03-31 19:25:54 +01:00 | 271 commits to main since this release

    Minor update with non-breaking features, performance improvements and refactoring:

    • Cargo.toml now has more defined fields in it (license, readme, docs, homepage, repo, keywords, description)
    • Documentation added under the docs directory in this repository
    • Made the serialization features for neural networks their own feature rather than always building the dependencies
    • Now using stable rust instead of nightly
    Downloads
  • 1.0.0 765f518589

    1.0.0 Stable

    juniper released this 2025-03-29 15:19:34 +00:00 | 281 commits to main since this release

    The first full release of the API.

    It's still somewhat work in progress, but it is stable enough to be considered a release.

    Please make sure you report any bugs with this version, though, some features may still be missing for a while.

    Downloads