Skip to main content

Crate ellip_rayon

Crate ellip_rayon 

Source
Expand description

§Ellip Rayon

Parallelized elliptic integral computation for Rust based on Ellip.

§Installation

cargo add ellip-rayon

§Machine-specific Threshold

Ellip Rayon employs parallelization if the length of the arguments exceesds certain thresholds. These thresholds depend on the core count, cache size, and architecture. For the most efficiency, these thresholds should be tuned on the target machine.

  1. Generating benchmark data
cargo bench

The process should take about 30-40 minutes to complete, and the file benches/par_threshold.md will be created. This reports the threshold for each function.

  1. Using the generated threshold
cargo run --example generate_threshold_code

This script automatically replaces the thresholds in the source code.

  1. Adding locally compiled library

From your working directory, run

cargo add --path path/to/your/ellip-rayon

Functions§

cel
Computes cel in parallel.
cel1
Computes cel1 in parallel.
cel2
Computes cel2 in parallel.
el1
Computes el1 in parallel.
el2
Computes el2 in parallel.
el3
Computes el3 in parallel.
ellipd
Computes ellipd in parallel.
ellipdinc
Computes ellipdinc in parallel.
ellipe
Computes ellipe in parallel.
ellipeinc
Computes ellipeinc in parallel.
ellipf
Computes ellipf in parallel.
ellipk
Computes ellipk in parallel.
ellippi
Computes ellippi in parallel.
ellippiinc
Computes ellippiinc in parallel.
ellippiinc_bulirsch
Computes ellippiinc_bulirsch in parallel.
elliprc
Computes elliprc in parallel.
elliprd
Computes elliprd in parallel.
elliprf
Computes elliprf in parallel.
elliprg
Computes elliprg in parallel.
elliprj
Computes elliprj in parallel.
heuman_lambda
Computes heuman_lambda in parallel.
jacobi_zeta
Computes jacobi_zeta in parallel.