Skip to content

Commit

Permalink
add analytical Jacobian and related benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
Ameyanagi committed Nov 18, 2023
1 parent 43d9491 commit 9b6535a
Show file tree
Hide file tree
Showing 10 changed files with 15,842 additions and 23 deletions.
5 changes: 3 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ levenberg-marquardt = "0.13.1"
nalgebra = "0.32.3"
num-complex = "0.4.3"
polyfit-rs = "0.2.1"
rusty-fitpack = { git = "https://github.com/mitric-lab/Rusty-FITPACK", version = "0.1.0" }
rusty-fitpack = "0.1.1"
rayon = "1.8.0"


Expand All @@ -42,4 +42,4 @@ name = "xas_group_benchmark_parallel"
harness = false

[profile.bench]
debug = true
debug = true
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Additionally, this project seeks to leverage Rust's ecosystem to create a genera

- [x] Standard EXAFS analysis (find_e0, preedge postedge normalization, AUTOBK, FFT, IFFT)
- [x] Parallel processing using Rayon. (For example, M1 Macbook Pro with 10 cores can process 10000 spectra in 20 seconds, which is ~x10 enhancement without parallelization. Numpy + xraylarch takes 145 seconds.)
- [x] Optimization on AUTOBK. The AUTOBK process were optimized with providing an analytical Jacobian to speed up the minimization process by Leverberg-Marquardt algorithm.

## Future Developments

Expand Down
14,588 changes: 14,588 additions & 0 deletions benches/flamegraph_xraylarch.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9b6535a

Please sign in to comment.