Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating to use latest rlst #141

Merged
merged 73 commits into from
Jan 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
047ee12
make array3d column major
mscroggs Nov 14, 2023
d5de967
Start translating opencl kernel to Rust
mscroggs Nov 16, 2023
85c5cfb
working on translating cl kernel
mscroggs Nov 16, 2023
e19af34
update to use tensor rlst branch
mscroggs Nov 22, 2023
ca6c23b
minor kernel speed up
mscroggs Nov 22, 2023
fc63907
Merge branch 'mscroggs/kernel-speed' into mscroggs/new-rlst
mscroggs Nov 22, 2023
2335735
speed
mscroggs Nov 22, 2023
ce3336d
remove cl
mscroggs Nov 22, 2023
17b99c4
remove cl kernel
mscroggs Nov 22, 2023
731b0d4
commiting attempt
mscroggs Nov 22, 2023
1f2ea95
speed up
mscroggs Nov 22, 2023
3d62a53
remove Array3D and Array4D
mscroggs Nov 23, 2023
0ce4051
improve geometry speed
mscroggs Nov 24, 2023
d810a77
uncomment fmm and field
mscroggs Nov 24, 2023
a30dc9a
Merge branch 'main' into mscroggs/new-rlst
mscroggs Dec 6, 2023
1cd0d77
working on updating to latest rlst
mscroggs Dec 6, 2023
200c8ac
updating rlst interface
mscroggs Dec 11, 2023
cc19eb0
set T to be f64
mscroggs Dec 11, 2023
ca1691a
revert field and fmm to pre-new-rlst
mscroggs Dec 13, 2023
4f783d0
comment out fmm and field
mscroggs Dec 13, 2023
ca24cfc
skip field and fmm
mscroggs Dec 13, 2023
6aa70b3
skip tree
mscroggs Dec 13, 2023
eef69f0
revert changes to tree
mscroggs Dec 15, 2023
7d7f75b
cargo.toml
mscroggs Dec 18, 2023
b328162
Merge branch 'main' into mscroggs/new-rlst
mscroggs Dec 18, 2023
7d88da3
normals and jdets for non-flat cell
mscroggs Dec 18, 2023
49fd138
clippy
mscroggs Dec 19, 2023
976cb66
cargo fmt
mscroggs Dec 19, 2023
79de7af
inverse properly
mscroggs Dec 19, 2023
4f33b8e
skip examples in fmm, field
mscroggs Dec 19, 2023
cf9aea5
uncomment hyksort
mscroggs Dec 21, 2023
dd0eeff
Merge branch 'main' into mscroggs/new-rlst
mscroggs Dec 21, 2023
df8b6c1
update tree to new rlst
mscroggs Dec 21, 2023
68639b2
update array.rs and types.rs in field
mscroggs Dec 21, 2023
14289b1
cargo fmt
mscroggs Dec 21, 2023
319a4c9
Merge branch 'main' into mscroggs/new-rlst
mscroggs Jan 8, 2024
98cf1aa
mostly update field to new rlst
mscroggs Jan 8, 2024
0204ff9
make field code run
mscroggs Jan 9, 2024
0145c3e
make field tests pass
mscroggs Jan 9, 2024
4854cd2
Reduced not Full
mscroggs Jan 9, 2024
7ffc79f
clippy
mscroggs Jan 9, 2024
ef8ac54
take(self.k)
mscroggs Jan 9, 2024
9f37def
simplify multiplication
mscroggs Jan 9, 2024
ff22a54
working on fmm
mscroggs Jan 9, 2024
39dd066
Merge branch 'main' into mscroggs/new-rlst
mscroggs Jan 9, 2024
4892954
working on updating fmm
mscroggs Jan 9, 2024
5c9070c
more work on fmm
mscroggs Jan 9, 2024
96bea6f
back down to one error
mscroggs Jan 10, 2024
0e3f058
remove Gemms
mscroggs Jan 10, 2024
70ef873
get Scalar from rlst
mscroggs Jan 10, 2024
3a9615b
remove more Gemms
mscroggs Jan 10, 2024
b4e3b11
rlst_common not cauchy
mscroggs Jan 10, 2024
2cad291
No more GEMM errors.
tbetcke Jan 10, 2024
49bcd87
Clean warnings
tbetcke Jan 10, 2024
29bff2c
Removed some copies
tbetcke Jan 10, 2024
7fd2263
tidier copy
mscroggs Jan 10, 2024
7461eec
cargo fmt
mscroggs Jan 10, 2024
005e103
unused import
mscroggs Jan 10, 2024
dcb5271
ccargo fmt
mscroggs Jan 10, 2024
f715387
Added the transpose
tbetcke Jan 10, 2024
4a3bfba
fix fmm tests
mscroggs Jan 10, 2024
f581f9d
remove prints
mscroggs Jan 10, 2024
6977fbd
add a print
mscroggs Jan 10, 2024
c8ad2cd
;
mscroggs Jan 10, 2024
573d85d
higher tolerance
mscroggs Jan 10, 2024
9d0e892
cargo fmt
mscroggs Jan 10, 2024
5ac0f4b
use min dimension, don't guess which is lower
mscroggs Jan 10, 2024
de057f8
split fmm tests in multiple tests
mscroggs Jan 10, 2024
ab33a8f
remove another memory assignment
mscroggs Jan 10, 2024
847c728
clippy
mscroggs Jan 10, 2024
ea08bab
Merge branch 'main' into mscroggs/new-rlst
mscroggs Jan 11, 2024
b423ae5
Remove parallel iterators from svd field translations for now
skailasa Jan 11, 2024
6866048
Clippy
skailasa Jan 11, 2024
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
8 changes: 4 additions & 4 deletions bem/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ itertools = "0.10"
mpi = { version = "0.6.*", optional = true }
num = "0.4"
rayon = "1.7"
rlst = { git = "https://github.com/linalg-rs/rlst.git", branch = "legacy"}
rlst-blis-src = { git = "https://github.com/linalg-rs/rlst.git", branch = "legacy" }
rlst-dense = { git = "https://github.com/linalg-rs/rlst.git", branch = "legacy" }
rlst-algorithms = { git = "https://github.com/linalg-rs/rlst.git", branch = "legacy" }
rlst = { git = "https://github.com/linalg-rs/rlst.git" }
rlst-blis-src = { git = "https://github.com/linalg-rs/rlst.git" }
rlst-dense = { git = "https://github.com/linalg-rs/rlst.git" }
rlst-common = { git = "https://github.com/linalg-rs/rlst.git" }

[dev-dependencies]
criterion = { version = "0.3", features = ["html_reports"]}
Expand Down
6 changes: 2 additions & 4 deletions bem/benches/assembly_benchmark.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ pub fn full_assembly_benchmark(c: &mut Criterion) {
);

let space = SerialFunctionSpace::new(&grid, &element);
let mut matrix = zero_matrix((space.dofmap().global_size(), space.dofmap().global_size()));
let mut matrix = zero_matrix([space.dofmap().global_size(), space.dofmap().global_size()]);

group.bench_function(
&format!(
Expand Down Expand Up @@ -62,7 +62,7 @@ pub fn assembly_parts_benchmark(c: &mut Criterion) {
);

let space = SerialFunctionSpace::new(&grid, &element);
let mut matrix = zero_matrix((space.dofmap().global_size(), space.dofmap().global_size()));
let mut matrix = zero_matrix([space.dofmap().global_size(), space.dofmap().global_size()]);

let colouring = space.compute_cell_colouring();

Expand Down Expand Up @@ -101,8 +101,6 @@ pub fn assembly_parts_benchmark(c: &mut Criterion) {
batched::assemble_nonsingular::<16, 16>(
&mut matrix,
&laplace_3d::Laplace3dKernel::new(),
false,
false,
&space,
&space,
&colouring,
Expand Down
2 changes: 1 addition & 1 deletion bem/examples/assemble.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ fn main() {
space0.dofmap().global_size()
);
let mut matrix =
zero_matrix::<f64>((space1.dofmap().global_size(), space0.dofmap().global_size()));
zero_matrix::<f64>([space1.dofmap().global_size(), space0.dofmap().global_size()]);

println!("Assembling dense matrix (complex)");
assemble_batched(
Expand Down
10 changes: 5 additions & 5 deletions bem/src/assembly.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ mod test {
use bempp_traits::element::{Continuity, ElementFamily};
// use num::complex::Complex;
use bempp_traits::bem::FunctionSpace;
use rlst_dense::RandomAccessByRef;
use rlst_dense::traits::RandomAccessByRef;

#[test]
fn test_laplace_single_layer() {
Expand All @@ -88,7 +88,7 @@ mod test {
let space1 = SerialFunctionSpace::new(&grid, &element1);

let mut matrix =
zero_matrix::<f64>((space1.dofmap().global_size(), space0.dofmap().global_size()));
zero_matrix::<f64>([space1.dofmap().global_size(), space0.dofmap().global_size()]);
batched::assemble(
&mut matrix,
&Laplace3dKernel::new(),
Expand All @@ -99,7 +99,7 @@ mod test {
);

let mut matrix2 =
zero_matrix::<f64>((space1.dofmap().global_size(), space0.dofmap().global_size()));
zero_matrix::<f64>([space1.dofmap().global_size(), space0.dofmap().global_size()]);

assemble_batched(
&mut matrix2,
Expand All @@ -112,8 +112,8 @@ mod test {
for i in 0..space1.dofmap().global_size() {
for j in 0..space0.dofmap().global_size() {
assert_relative_eq!(
*matrix.get(i, j).unwrap(),
*matrix2.get(i, j).unwrap(),
*matrix.get([i, j]).unwrap(),
*matrix2.get([i, j]).unwrap(),
epsilon = 0.0001
);
}
Expand Down
Loading