v2.1.0 #16

Merged
juniper merged 20 commits from experimental into main 2026-01-04 11:43:16 +00:00
Owner

Major update to v2.1.0.

A big loss of performance is the conversion of the network from something Rust-Compatible, to something C compatible (Around 12-13ms of a total ~65ms for compute in the benchmarks! Pretty substantial)

This is a pretty easy fix; to do this computation beforehand. The training is only Rust anyway, so it'd only have to update it once it's finished, rather than every cycle, substantially improving performance there. Since compute doesn't change the values stored in the network it should never need to update the C stuff!

Major update to v2.1.0. A big loss of performance is the conversion of the network from something Rust-Compatible, to something C compatible (Around 12-13ms of a total ~65ms for compute in the benchmarks! Pretty substantial) This is a pretty easy fix; to do this computation beforehand. The training is only Rust anyway, so it'd only have to update it once it's finished, rather than every cycle, substantially improving performance there. Since compute doesn't change the values stored in the network it should never need to update the C stuff!
juniper self-assigned this 2025-09-03 12:19:07 +01:00
Compute performance optimisation
All checks were successful
/ build (push) Successful in 4m40s
/ build (pull_request) Successful in 4m13s
57ccc3b9c7
fmt
All checks were successful
/ build (push) Successful in 5m10s
/ build (pull_request) Successful in 5m5s
8da1fabf8a
Author
Owner

Somehow my patch has majorly decreased GPU performance. God knows how.

Somehow my patch has majorly decreased GPU performance. God knows how.
Fix for GPU performance
Some checks failed
/ build (push) Failing after 3m49s
/ build (pull_request) Failing after 4m13s
aa717cf0e5
New testing methods
Some checks failed
/ build (push) Failing after 3m4s
/ build (pull_request) Failing after 3m23s
5ce2d2ffe0
Tidy up code
Some checks failed
/ build (push) Failing after 3m19s
/ build (pull_request) Failing after 3m8s
39e8b70f1c
WIP: Debug GPU code not computing output layer
Some checks failed
/ build (push) Has been cancelled
/ build (pull_request) Failing after 3m12s
1831614a45
Fix workflow (How did this even break to start with?
Some checks failed
/ build (push) Failing after 3m55s
/ build (pull_request) Failing after 3m40s
7f376f25fc
Resolve warnings
All checks were successful
/ build (push) Successful in 4m6s
/ build (pull_request) Successful in 4m17s
dbcace726b
Author
Owner

GPU performance has been resolved, but it seems that the compute shader isn't working properly. I'm working on a fix!

GPU performance has been resolved, but it seems that the compute shader isn't working properly. I'm working on a fix!
GPU Code works, just not for the output layer
All checks were successful
/ build (push) Successful in 7m53s
/ build (pull_request) Successful in 5m31s
6d3c52691d
Training bugfix
All checks were successful
/ build (push) Successful in 4m19s
/ build (pull_request) Successful in 4m30s
e95167189d
Merge pull request 'Update runners on experimental branch' (#17) from main into experimental
Some checks failed
/ build-amd64 (push) Failing after 6m50s
/ build-aarch64 (push) Successful in 19m9s
/ build-amd64 (pull_request) Failing after 6m41s
/ build-aarch64 (pull_request) Successful in 19m12s
eed26d8279
Reviewed-on: #17
Improve error if Vulkan device is not present
All checks were successful
/ build-amd64 (push) Successful in 2m20s
/ build-aarch64 (push) Successful in 16m58s
/ build-amd64 (pull_request) Successful in 3m8s
/ build-aarch64 (pull_request) Successful in 16m32s
48dbe25ef0
Author
Owner

Upping the release number to v2.1.0. Larger changes are required to get the GPU to work.

Upping the release number to v2.1.0. Larger changes are required to get the GPU to work.
juniper changed title from WIP: v2.0.1 to WIP: v2.1.0 2026-01-04 10:50:57 +00:00
Pull older code for GPU support
Some checks failed
/ build-amd64 (push) Failing after 1m52s
/ build-aarch64 (push) Successful in 13m52s
/ build-amd64 (pull_request) Successful in 1m57s
/ build-aarch64 (pull_request) Successful in 14m2s
ccab334fe1
Make XOR test more permissive
Some checks failed
/ build-amd64 (pull_request) Successful in 1m41s
/ build-aarch64 (pull_request) Has been cancelled
/ build-amd64 (push) Successful in 1m57s
/ build-aarch64 (push) Has been cancelled
6f5d765de6
juniper changed title from WIP: v2.1.0 to v2.1.0 2026-01-04 11:37:04 +00:00
Author
Owner

Changes in this version:

  • 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

As for plans in the future:

  • 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
Changes in this version: - 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 As for plans in the future: - 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
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
juniper/astra-api!16
No description provided.