Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
1793601
lu stabilisation
Jul 30, 2025
b336967
deserialise pivotmethod as type, value
Jul 30, 2025
e4ed96a
remove stabilisation from diagonal blocks
Jul 30, 2025
147b01f
diag factors stabilisation
Jul 30, 2025
5d355eb
rlst type fix
Jul 30, 2025
c44c449
return factor norms
Aug 4, 2025
bf73899
op + alpha*I type of stabilisation
Aug 5, 2025
5eb6d74
modify results path when stabilising
Aug 5, 2025
bcbf73b
fix results path format
Aug 5, 2025
e4cb7f3
addition of SRRQR algorithm
Aug 13, 2025
6579476
rrqr added to filenemes
Aug 13, 2025
89b11dc
max entry id logged
Aug 14, 2025
387b715
debug print
Aug 14, 2025
87a50ca
debug print
Aug 14, 2025
9608480
prints removed
Aug 14, 2025
6c8b7da
fixed max rank
Aug 27, 2025
7f8b617
fixed max rank
Aug 27, 2025
bb7ac9d
remove inactive indices after batching
Aug 29, 2025
085d4db
alternative
Aug 29, 2025
5936de8
removal of inactive indices undone
Aug 29, 2025
685cbe9
debug prints
Aug 29, 2025
7a81de9
undo print
Aug 29, 2025
2843348
remove innecessary conj
Aug 31, 2025
ac344ff
conj reg
Aug 31, 2025
1342ce7
undo
Aug 31, 2025
04e2cd0
remove left perm trans
Sep 1, 2025
1741c12
undo
Sep 1, 2025
5723a33
no conj
Sep 2, 2025
d2d2fa6
conj array
Sep 3, 2025
7ef072d
fix
Sep 3, 2025
eb96f6c
u_arr and comp factor public
Sep 8, 2025
3f2687d
remove inactive indices in between batches
Sep 9, 2025
258dce5
manage level=1
Sep 10, 2025
e300a4f
joint order implemented
Sep 10, 2025
d3b33eb
undo remove inactive inds
Sep 10, 2025
18803e6
fixed joint multiplication
Sep 10, 2025
ae6301d
remove inactive indices
Sep 10, 2025
afe94ea
save samples
Oct 29, 2025
f3f32d6
use max number of samples
Oct 29, 2025
fc39ff8
fix min num samples
Oct 29, 2025
f4fdc25
debug print
Oct 30, 2025
c7ae3f8
debug print
Oct 30, 2025
c632b4b
appending data fixed
Nov 3, 2025
dc2482f
reduce oversampling
Nov 3, 2025
1a3cf48
alternative oversampling
Nov 3, 2025
5d94cd1
full use of samples
Nov 4, 2025
3147e5f
fix to save
Nov 5, 2025
07db90b
fixed col major
Nov 7, 2025
2ad506b
don't load shape
Nov 7, 2025
732cdeb
fix col major rlst way
Nov 7, 2025
b92a602
bug fix
Nov 7, 2025
4df86ea
fix corrupted shape
Nov 7, 2025
21a9ff8
macro implementation for loading samples
Nov 8, 2025
89d3cd9
small bug fix
Nov 8, 2025
0b91425
reduce local_oversample
Nov 13, 2025
eb41906
max sample for local_oversample
Nov 13, 2025
83ac121
num threads limited
Nov 17, 2025
0ab81a9
pools of threads
Nov 18, 2025
d56df0b
fixes to parallelism
Nov 18, 2025
2f7fb6e
use mis for batch generation
Nov 19, 2025
da073ef
remove inactive batches
Nov 19, 2025
8eb33c7
disable mis
Nov 19, 2025
1d5f751
disable greedy coloring:
Nov 19, 2025
e11e307
remove duplicate definitions
Nov 19, 2025
59bced0
debug prints
Nov 19, 2025
842d1de
remove debug prints
Nov 19, 2025
5f6f49a
minimum samples added
Nov 19, 2025
7940b18
minimum samples added
Nov 19, 2025
503b823
disable parallel in id and lu
Nov 19, 2025
4d167f9
undo serial batches
Nov 19, 2025
e2e0084
modify batching
Nov 21, 2025
df92215
batching fixed
Nov 21, 2025
0d1c63f
return to old batching
Nov 21, 2025
448b39b
sort before batching
Nov 24, 2025
a4e062f
record update id time
Nov 25, 2025
e1c4c07
fix non-symmetric lu
Dec 5, 2025
cc4da24
record level and mv times
Dec 5, 2025
fab3bdc
fix non-symmetric sampling
Dec 5, 2025
ecaae46
changes to level effort
Dec 7, 2025
71f9072
leaf count added
Dec 14, 2025
848f9d8
effective dofs
Jan 12, 2026
b2985c8
extra stats
Jan 12, 2026
96099de
update stats
Jan 12, 2026
8dc22c7
remove empty boxes
Jan 12, 2026
fbc5c4e
fix tree indexing
Jan 12, 2026
3f19dec
undo removal
Jan 12, 2026
b8299e5
remove inactive neighbours
Jan 13, 2026
817ac0b
remove empty
Jan 15, 2026
896e84f
init
Jan 29, 2026
e8869a3
fixed errors
Jan 30, 2026
9f164a3
documentation of base factors
Jan 30, 2026
bdd1fcf
more documentation
Jan 31, 2026
7376fef
debug print
Feb 1, 2026
5d4bd29
transpose direct inversion
Feb 1, 2026
2b3147a
modify transpose
Feb 1, 2026
d0cd513
non symmetric block extraction
Feb 1, 2026
55a80ab
remove trans
Feb 1, 2026
54acd34
add trans
Feb 1, 2026
45d4701
fix save samples
Feb 2, 2026
43144a3
fixes to non symmetric
Feb 19, 2026
695f5a5
fix trans for arrayvectorspace
ignacia-fp Feb 27, 2026
4e857ea
conj right
ignacia-fp Feb 27, 2026
d611219
right
ignacia-fp Feb 27, 2026
aa00909
right
ignacia-fp Feb 27, 2026
fe7d5c6
fixed
Mar 7, 2026
1dda686
fixed trans product
Mar 20, 2026
2f01d48
Precompute fixed rank nsamples and update inactive indices after each…
annayesy Mar 29, 2026
d064b33
fix rust formatting
annayesy Mar 30, 2026
41c1d4d
Install HDF5 in tests and pin cargo-upgrades in CI
annayesy Mar 30, 2026
3af3c79
Use git crates.io index for cargo-upgrades in CI
annayesy Mar 30, 2026
735f21f
Fix CI checks for warnings
annayesy Mar 30, 2026
74053df
Reduce RSRS memory usage and add diagnostics
Apr 1, 2026
2c01ce3
Record RSRS memory snapshots in statistics
Apr 1, 2026
0ef3285
Fix Hermitian matvec products and CI coverage
Apr 2, 2026
d2450f8
samples management
Apr 2, 2026
aa80e35
add samples incrementally/no sample copying
Apr 5, 2026
671d91e
fixed sampling
Apr 5, 2026
b0654a4
Optimize sample storage and restore fixed-rank projection
Apr 5, 2026
b23465d
Restore direct LU extraction for fixed-rank runs
Apr 5, 2026
90e8361
Separate sample loading time and load samples in place
Apr 5, 2026
ad10a5f
Speed up fixed-rank sample budget estimation
Apr 5, 2026
2375998
Speed up diagonal extraction for tiny fixed-rank boxes
Apr 6, 2026
0db7ed6
simplify index calculation for block ext
Apr 6, 2026
3379255
Prepare ifp_tests changes for enable_symm merge
Apr 9, 2026
ce464c5
complex non-symmetric bug fixed
Apr 11, 2026
c67c4ab
Fix CI style checks
Apr 11, 2026
346bd59
Restore fixed-rank sample budget estimation
annayesy Apr 11, 2026
07d79e1
Restore per-level fixed-rank activation
Apr 12, 2026
f7942ff
force min_num_samples when its more than budget
Apr 13, 2026
efe95a4
Fix fixed-rank sample budgeting on adaptive trees
Apr 16, 2026
1ca2c90
Modified PerLevel and Constant sample use
annayesy Apr 22, 2026
21470dd
Box coloring for parallel processing and launch mask
annayesy Apr 23, 2026
ee38df9
Store lu(X_RR) from joint id lu step for symmetrized X_RR and store f…
annayesy Apr 23, 2026
3588e0c
Run perturbed BIEGrid regressions through rsrs-exps harness
annayesy Apr 24, 2026
3036cdb
Remove .DS_Store
mscroggs Apr 27, 2026
aff6350
remove more DS_Store files
mscroggs Apr 27, 2026
d324fe2
remove zipped clone of source
mscroggs Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
94 changes: 90 additions & 4 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ jobs:
run-tests-rust:
name: Run Rust tests
runs-on: ubuntu-latest
env:
OPENBLAS_NUM_THREADS: 1
strategy:
matrix:
rust-version: ["stable"]
Expand All @@ -28,32 +30,116 @@ jobs:
- name: Install cargo-mpirun and cargo-templated-examples
run: cargo install cargo-mpirun cargo-templated-examples
- uses: actions/checkout@v4
- name: Install LAPACK, OpenBLAS
- name: Install system libraries
run:
sudo apt-get install -y libopenblas-dev liblapack-dev
sudo apt-get install -y libopenblas-dev liblapack-dev libhdf5-dev pkg-config

- name: Run unit tests
run: cargo test ${{ matrix.feature-flags }}
- name: Run operator matvec regression test
run: cargo test ${{ matrix.feature-flags }} --test rsrs_operator_mv rsrs_operator_matvec_diagnostic -- --nocapture
- name: Run unit tests in release mode
run: cargo test --release ${{ matrix.feature-flags }}
- name: Run operator matvec regression test in release mode
run: cargo test --release ${{ matrix.feature-flags }} --test rsrs_operator_mv rsrs_operator_matvec_diagnostic -- --nocapture
- name: Run tests
run: cargo test --examples --release ${{ matrix.feature-flags }}
- name: Run examples
run: OPENBLAS_NUM_THREADS=1 cargo templated-examples
run: cargo templated-examples

perturbed-biegrid-regressions:
name: Perturbed BIEGrid regressions
runs-on: ubuntu-22.04
timeout-minutes: 120
steps:
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Set up MPI
uses: mpi4py/setup-mpi@v1
with:
mpi: openmpi
- uses: actions/checkout@v4
- name: Check out public rsrs-exps harness
uses: actions/checkout@v4
with:
repository: ignacia-fp/rsrs-exps
path: rsrs-exps
- name: Install public rsrs-exps system dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
build-essential \
cmake \
clang \
lld \
gfortran \
libssl-dev \
openmpi-bin \
libopenmpi-dev \
libhdf5-dev \
libopenblas-dev \
liblapack-dev \
libfftw3-dev \
python3.10 \
python3.10-dev \
python3.10-venv \
python3-pip \
patchelf \
libfontconfig1-dev \
libfreetype6-dev \
gmsh \
libgl1 \
libglu1-mesa \
libx11-6 \
libxext6 \
libxi6 \
libxrender1 \
libxfixes3 \
libxrandr2 \
libxcursor1 \
libxinerama1 \
libsm6 \
libice6
- name: Patch rsrs-exps to current bempp-rsrs checkout
run: |
mkdir -p rsrs-exps/.cargo
printf '%s\n%s\n' \
'[patch."https://github.com/bempp/rsrs.git"]' \
"bempp-rsrs = { path = \"${GITHUB_WORKSPACE}\" }" \
> rsrs-exps/.cargo/config.toml
- name: Bootstrap public rsrs-exps harness
run: |
cd rsrs-exps
DEPS_DIR="$PWD/.deps" WORKSPACE="$PWD" bash scripts/setup_deps.sh true
- name: Run perturbed BIEGrid regression suite
run: |
cd rsrs-exps
. .venv/bin/activate
python scripts/run_perturbed_biegrid_suite.py

check-dependencies:
name: Check dependencies
if: false
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
rust-version: ["stable"]
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git
steps:
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.rust-version }}
- name: Install cargo-upgrades
run: cargo install cargo-upgrades
run: cargo install cargo-upgrades --version 2.1.2
- uses: actions/checkout@v4
- name: Check that dependencies are up to date
run:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/style-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ jobs:
style-checks:
name: Rust style checks
runs-on: ubuntu-latest
env:
OPENBLAS_NUM_THREADS: 1
strategy:
matrix:
feature-flags: ['']
Expand All @@ -25,13 +27,11 @@ jobs:
with:
mpi: mpich
- uses: actions/checkout@v4
- name: Install LAPACK, OpenBLAS
- name: Install system libraries
run:
sudo apt-get install -y libopenblas-dev liblapack-dev
sudo apt-get install -y libopenblas-dev liblapack-dev libhdf5-dev pkg-config

- name: Rust style checks
run: |
cargo fmt -- --check
#cargo clippy ${{ matrix.feature-flags }} -- -D warnings
#cargo clippy --tests ${{ matrix.feature-flags }} -- -D warnings
#cargo clippy --examples ${{ matrix.feature-flags }} -- -D warnings
cargo clippy --all-targets --all-features --no-deps -- -D warnings
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,9 @@ Cargo.lock
#.idea/

examples.sh

.DS_Store
*/.DS_Store
*/*/.DS_Store
**/.DS_Store
src.zip
8 changes: 7 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ itertools = "0.14.*"
rand = { version = "0.8.5", features = ["alloc"] }
rand_chacha = "0.3.*"
num = "0.4.*"
rlst = {git = "https://github.com/linalg-rs/rlst.git", branch = "extend_abstract_operator", features = ["mpi"]}
rlst = { git = "https://github.com/ignacia-fp/rlst.git", branch = "extend_abstract_operator", features = [
"enable_tracing",
"mpi",
] }
bempp-octree = { git = "https://github.com/bempp/octree.git" }
mpi = { version = "0.8.*", features = ["derive", "user-operations"] }
ndarray = "0.16.1"
Expand All @@ -37,6 +40,9 @@ paste = "1"
serde = { version = "1.0", features = ["derive"] }
rayon = "1.8"
rustc-hash = "2.1"
hdf5 = { git = "https://github.com/aldanor/hdf5-rust.git", branch = "master" }
num-complex = "0.4"
num_cpus = "1.16"

[profile.release]
debug = 1
Expand Down
Binary file removed examples/.DS_Store
Binary file not shown.
Loading
Loading