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

Splines fixes #223

Closed
wants to merge 246 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
d377765
wip
blegouix Jul 3, 2023
5e9cc01
wip
blegouix Jul 3, 2023
0a2774a
wip
blegouix Jul 3, 2023
555ccc1
wip
blegouix Jul 3, 2023
46d95c2
wip on serial version of sll in ddc
blegouix Jul 3, 2023
b477473
compile but tests fail
blegouix Jul 3, 2023
ec0fbbb
clangd-format
blegouix Jul 4, 2023
eff93d0
fix virtual/ovveride keywords, ctest pass
blegouix Jul 4, 2023
f96d5ee
operator << inside matrix class
blegouix Jul 6, 2023
54adbb8
Create function_basis_specs
blegouix Jul 8, 2023
a2b5467
Update function_basis_specs
blegouix Jul 8, 2023
cb99bbf
First PETSc KSP solve (but of the wrong problem)
blegouix Jul 9, 2023
e6bab16
fix petsc things, matrix correctly stored (+ restore original solve m…
blegouix Jul 10, 2023
54e3c01
wip
blegouix Jul 20, 2023
a3a1007
ksp solve (with random matrix) works in sequential, gpu wip
blegouix Jul 20, 2023
33588f1
petsc ksp works with kokkos on cpu but still not on gpu
blegouix Jul 24, 2023
a15dc6c
working on gpu ?
blegouix Jul 27, 2023
b42c3c3
setup for theards-based batching -> PETSc error
blegouix Jul 28, 2023
e5b1639
solve on gpu with ginkgo (non-batched)
blegouix Jul 29, 2023
84b4a2f
clean cmake for ginkgo link
blegouix Jul 31, 2023
3f648ef
Coo -> Csr
blegouix Jul 31, 2023
3aca0b5
batch solve on gpu
blegouix Aug 1, 2023
0bf7a2d
wip
blegouix Aug 3, 2023
e7f7c93
matrix-matrix
blegouix Aug 3, 2023
9c5f952
minors
blegouix Aug 3, 2023
d45742d
sparse csr with 97% sparsity
blegouix Aug 4, 2023
94bd3e1
logger
blegouix Aug 16, 2023
c378bb1
convergence logger
blegouix Aug 24, 2023
9be3b60
Matrix_Sparse class (with krylov solver)
blegouix Aug 28, 2023
a3ab136
wip
blegouix Aug 28, 2023
53778fd
first working version of 1D splines !
blegouix Aug 29, 2023
72181af
gko::Executor based on Kokkos:ExecutorSpace
blegouix Aug 29, 2023
de423f9
Merge branch 'main' into splines
blegouix Aug 29, 2023
4a65cb1
rsync from gysela/sll (new changes) + fix kokkos<->ginkgo link
blegouix Aug 29, 2023
71cc586
wip
blegouix Sep 4, 2023
7ed505f
batched spline_builder 1D tested on cpu, only with spline computation…
blegouix Sep 6, 2023
a97b458
Merge branch 'main' into splines
blegouix Sep 6, 2023
0ad52ff
works on GPU
blegouix Sep 11, 2023
103ac5a
Begin templating + works on CPU and GPU
blegouix Sep 12, 2023
53c3a89
ddc policy obtained from Kokkos ExecSpace
blegouix Sep 12, 2023
4848f71
Merge branch 'kokkos_policy' into splines
blegouix Sep 12, 2023
2cb9e42
policy<ExecSpace> from for_each.hpp
blegouix Sep 12, 2023
05e8740
nbatch != ncells
blegouix Sep 12, 2023
37902c5
remove zeros from csr and externalize preconditionner
blegouix Sep 13, 2023
026ea4d
Cleaning, several Kokkos::view replaced by Chunks
blegouix Sep 15, 2023
5add5c9
wip (not in compile state)
blegouix Sep 15, 2023
56c51c5
TypeSeqReplace
blegouix Sep 15, 2023
eb27fe2
Merge branch 'typeseq_replace' into splines
blegouix Sep 15, 2023
d0231c5
still wip (no compilation)
blegouix Sep 15, 2023
819ea92
replace_dim_of (not tested yet)
blegouix Sep 16, 2023
f9de58d
Merge branch 'typeseq_replace' into splines
blegouix Sep 16, 2023
85d3e12
wip
blegouix Sep 16, 2023
d161335
wip
blegouix Sep 16, 2023
78529e9
Works for X and Y interest dimensions! Fully templated
blegouix Sep 16, 2023
a09453b
Update tests/type_seq.cpp
blegouix Sep 16, 2023
8ebb4c8
Update include/ddc/detail/type_seq.hpp
blegouix Sep 16, 2023
2ea4a5a
Merge branch 'typeseq_replace' of github.com:Maison-de-la-Simulation/…
blegouix Sep 16, 2023
6b1c177
fix
blegouix Sep 16, 2023
b1a83d8
wip
blegouix Sep 17, 2023
2a117df
wip
blegouix Sep 22, 2023
ede5d44
wip
blegouix Sep 23, 2023
0a88ac4
Merge
blegouix Sep 23, 2023
191b99b
wip
blegouix Sep 23, 2023
3d2f766
Merge branch 'element_generalized' into splines
blegouix Sep 23, 2023
75ba987
cleaning
blegouix Sep 23, 2023
6d19c01
Merge branch 'element_generalized' into splines
blegouix Sep 23, 2023
b46f109
wip
blegouix Sep 24, 2023
6872c47
Generalize also DiscreteDomain constructor
blegouix Sep 24, 2023
56d33f2
clang-format
blegouix Sep 24, 2023
914759e
Merge branch 'element_generalized' into splines
blegouix Sep 24, 2023
4d71f36
3D batched_spline_builder working!
blegouix Sep 24, 2023
9525d9e
handle 1D case (but problem with sfinae and nvcc)
blegouix Sep 24, 2023
b4b0ee7
replace sfinae with an if constexpr for nvcc compatibility
blegouix Sep 24, 2023
65259d7
handle 1D case
blegouix Sep 25, 2023
b3e14a1
(huge) cleaning
blegouix Sep 25, 2023
95e6821
clangd-format
blegouix Sep 25, 2023
7873545
Kokkos_malloc->Kokkos::View and remove_zeros in factorization_method()
blegouix Sep 26, 2023
9fc3abb
wip
blegouix Sep 26, 2023
c8fd594
wip
blegouix Sep 26, 2023
d04886e
chunks of B&X to be trated by ginkgo (parallel not working)
blegouix Sep 26, 2023
ca88bba
fix
blegouix Sep 27, 2023
4513491
remove a deepcopy + rename
blegouix Sep 27, 2023
42080be
not working
blegouix Sep 28, 2023
427e49c
fix
blegouix Sep 28, 2023
6b03bcb
Merge branch 'kokkos_for_0D' into splines
blegouix Sep 28, 2023
4da3382
1D case naturally managed
blegouix Sep 28, 2023
3717f5e
4D tests
blegouix Sep 28, 2023
efc58eb
remove MemorySpace from template
blegouix Sep 28, 2023
2173668
wip
blegouix Sep 30, 2023
e13543a
batched evaluator (segfault on gpu)
blegouix Sep 30, 2023
c162600
wip
blegouix Oct 2, 2023
9ed3848
wip
blegouix Oct 2, 2023
1d8268b
bug commit
blegouix Oct 3, 2023
9790d70
wip
blegouix Oct 3, 2023
18ac45e
working on gpu BUT there is a bypass of Chunkspan[] on gpu which make…
blegouix Oct 3, 2023
9c5de61
cleaning
blegouix Oct 3, 2023
9b9c5ad
clang-format
blegouix Oct 3, 2023
98581b9
determine matrix_sparse slicing according to backend
blegouix Oct 3, 2023
c9626f3
Merge branch 'main' into splines
blegouix Oct 4, 2023
9bfe920
comment non-batched cmake
blegouix Oct 4, 2023
1b27a65
minor change to reduce number of warnings
blegouix Oct 4, 2023
4d956db
wip
blegouix Oct 4, 2023
9c03acc
wip
blegouix Oct 4, 2023
5f41cd4
wip
blegouix Oct 4, 2023
fafa119
ddc namespace for ex-sll & clang-format
blegouix Oct 4, 2023
2fe6445
reactivate periodic test
blegouix Oct 5, 2023
60804a5
changes for gysela
blegouix Oct 5, 2023
5d52263
wip
blegouix Oct 5, 2023
273c056
other changes for gysela
blegouix Oct 6, 2023
820ddd0
Merge branch 'main' into splines
blegouix Oct 6, 2023
109d7e1
minor fix
blegouix Oct 6, 2023
12493ec
wip
blegouix Oct 6, 2023
1ff0869
Merge branch 'splines' of github.com:Maison-de-la-Simulation/ddc into…
blegouix Oct 6, 2023
d62ea84
Merge branch 'splines' of github.com:Maison-de-la-Simulation/ddc into…
blegouix Oct 6, 2023
31e66d3
recover non_periodic 1D test
blegouix Oct 6, 2023
1c74d5a
recover 2D_spline test
blegouix Oct 6, 2023
4695af5
recover other 2d test
blegouix Oct 6, 2023
32316d4
prepare non_periodic batched splines
blegouix Oct 6, 2023
295aab6
wip on non-periodic
blegouix Oct 6, 2023
310209f
restore non-batched Lapack method with a kwargs to choose between gin…
blegouix Oct 6, 2023
b01f4c9
builder_2d based on Lapack + fix + clang-format
blegouix Oct 6, 2023
7881c6f
clang-format
blegouix Oct 6, 2023
6bff755
wip
blegouix Oct 7, 2023
3a6df99
minor fix
blegouix Oct 7, 2023
9af1bb0
kokkos::finalize() when sigint
blegouix Oct 7, 2023
879a2bf
OpenMP second loop in spline_builder_2d (but non_periodic test dont w…
blegouix Oct 7, 2023
a5fdce8
main loops of spline_builder_2D parallelized but LAPACK not working i…
blegouix Oct 7, 2023
08ae321
Merge branch 'kokkos-finalize-sigint' into splines
blegouix Oct 7, 2023
0b64b37
2D exec_spaces based on 1D spline_builders
blegouix Oct 7, 2023
3b6d4a2
wip
blegouix Oct 7, 2023
25cdbd7
improve slicing
blegouix Oct 8, 2023
36ae6fc
Merge branch 'main' into element_generalized
blegouix Oct 8, 2023
6ff5f77
workaround to issue #193
blegouix Oct 8, 2023
12e5a2a
call of operator[] inside spline_evaluator
blegouix Oct 8, 2023
84d8ff2
optimize allocation
blegouix Oct 9, 2023
e88bed2
fix
blegouix Oct 9, 2023
491085a
fix
blegouix Oct 9, 2023
c927905
ginkgo inplace solve
blegouix Oct 10, 2023
cf3dfb6
spline_evalutor derivates
blegouix Oct 11, 2023
348fa88
wip
blegouix Oct 11, 2023
e59729a
integrals
blegouix Oct 11, 2023
697155b
cleaning + comments
blegouix Oct 12, 2023
f055c16
wip on release (removing files)
blegouix Oct 12, 2023
a49faea
reactivate few tests
blegouix Oct 12, 2023
a954929
wip on splines-release
blegouix Oct 12, 2023
6c1f915
wip on splines-release
blegouix Oct 12, 2023
a472e75
wip on splines-release
blegouix Oct 12, 2023
316c6f0
wip on splines-release
blegouix Oct 12, 2023
d7b903b
wip on splines-release
blegouix Oct 12, 2023
fea4f15
wip on splines-release
blegouix Oct 12, 2023
edf490c
clang-format
blegouix Oct 12, 2023
8eed569
cmake changes
blegouix Oct 12, 2023
2e0204f
minor
blegouix Oct 12, 2023
8e94a0d
remove SLL_ prefix in tests
blegouix Oct 12, 2023
ff0a892
clean ddc.hpp
blegouix Oct 12, 2023
22879f7
Merge branch 'main' into element_generalized
blegouix Oct 12, 2023
84e1406
forgotten in merge
blegouix Oct 12, 2023
3f1b5db
Merge branch 'element_generalized' into splines-release
blegouix Oct 12, 2023
6c7eb94
revert kokkos-finalize-sigint merge
blegouix Oct 12, 2023
ce47d79
cleaning
blegouix Oct 12, 2023
2cbfebb
fix on GPU
blegouix Oct 12, 2023
9273167
throw runtime error when MatrixSparse::get_element() is called
blegouix Oct 13, 2023
17af507
periodicity test
blegouix Oct 16, 2023
960b785
fix periodicity
blegouix Oct 16, 2023
02d2eb9
clean spline_evaluator
blegouix Oct 16, 2023
57ab8aa
fix
blegouix Oct 16, 2023
10f3827
remove GInkgo
blegouix Oct 16, 2023
81272e6
fix on GPU
blegouix Oct 16, 2023
feb1b30
clang-format
blegouix Oct 16, 2023
73b1898
characteristics_advection example
blegouix Oct 17, 2023
8ef8089
improve advection test
blegouix Oct 17, 2023
75a9014
add test matrix_sparse
blegouix Oct 17, 2023
20bd9f8
splines.hpp
blegouix Oct 18, 2023
a62d4d8
simplify includes
blegouix Oct 18, 2023
6d36ded
fix
blegouix Oct 18, 2023
2fd16a7
benchmark (but problem)
blegouix Oct 18, 2023
a63011e
wip on benchmark
blegouix Oct 19, 2023
6253adf
benchmark working
blegouix Oct 19, 2023
fff94dd
memory occupancy benchmark
blegouix Oct 19, 2023
935efaa
plotter
blegouix Oct 19, 2023
c3a1265
improve
blegouix Oct 19, 2023
ba59a72
improve plotter
blegouix Oct 19, 2023
6b18868
changes from Thomas' review
blegouix Oct 20, 2023
a43611b
changes from Thomas' review on matrix_sparse
blegouix Oct 20, 2023
446abe7
changes from Thomas' review
blegouix Oct 20, 2023
9bb31bd
changes from Thomas' review in spline_evaluator_batched
blegouix Oct 20, 2023
0f6b3c6
remove bernstein
blegouix Oct 20, 2023
8abc327
remove gauss_legendre
blegouix Oct 20, 2023
83321f6
remove chunk
blegouix Oct 20, 2023
080d3f0
remove non_periodic
blegouix Oct 20, 2023
10efe8e
LICENSE
blegouix Oct 20, 2023
78b7c48
changes in cmake, ddc core and kernels managed separatly
blegouix Oct 20, 2023
329d01b
remove LAPACK load (added by mistake)
blegouix Oct 20, 2023
16984f4
changes from Thomas' review
blegouix Oct 23, 2023
84f0197
remove logger
blegouix Oct 23, 2023
04c48f2
simplify tests headers
blegouix Oct 23, 2023
131030b
externalize ginkgo_exec + remove cmake options
blegouix Oct 24, 2023
3ec5ae0
clang-format
blegouix Oct 24, 2023
5aa4989
ginkgo solver_factory in constructor
blegouix Oct 24, 2023
c01d2d9
optimize allocation
blegouix Oct 24, 2023
b85db95
change omp params slicing
blegouix Oct 24, 2023
4de828d
typo
blegouix Oct 24, 2023
17f5ffe
clang-format
blegouix Oct 24, 2023
39bde65
fix alloc
blegouix Oct 24, 2023
eb7d6ec
fix alloc again
blegouix Oct 24, 2023
fdda8a9
tune omp ginkgo
blegouix Oct 24, 2023
607ca75
several benchmarks
blegouix Oct 29, 2023
3809f84
clang-format
blegouix Oct 29, 2023
7eb95ce
add missing py
blegouix Oct 29, 2023
9f29c0c
remove unused loggers
blegouix Oct 29, 2023
65c8982
tuning
blegouix Oct 29, 2023
96bca62
reference tuning in the benchmark
blegouix Oct 29, 2023
d86d9c7
clang-format
blegouix Oct 29, 2023
54834c2
tuning
blegouix Oct 29, 2023
135d06a
minor changes for benchmark & tuning
blegouix Oct 31, 2023
04cab28
several improvements benchmarking
blegouix Oct 31, 2023
735fd9a
fix
blegouix Nov 1, 2023
465c273
tuning
blegouix Nov 3, 2023
3fa39d1
tuning serial
blegouix Nov 3, 2023
dfbab66
clang-format
blegouix Nov 3, 2023
bc83534
Merge branch 'main' into splines
blegouix Nov 3, 2023
965d544
Merge branch 'main' into splines-release
blegouix Nov 3, 2023
f739426
Remove Virginie from authors (because Gauss-Legendre)
blegouix Nov 4, 2023
d01f6db
fix test (but relax on tol is weird...)
blegouix Nov 6, 2023
0f7161f
clang-tidy
blegouix Nov 6, 2023
bcc19d6
clang-tidy
blegouix Nov 7, 2023
3f6fa93
remove deprecated test
blegouix Nov 7, 2023
8e38fa3
move ginkgo solvers to reduce number of instances
blegouix Nov 7, 2023
ed4274f
try to fix CI
blegouix Nov 7, 2023
8c5ad2f
test common main
blegouix Nov 7, 2023
4bdbb56
remove C-style arrays
blegouix Nov 7, 2023
acc95e7
fix
blegouix Nov 7, 2023
33b5610
changes in the test
blegouix Nov 7, 2023
3c62fa8
typo
blegouix Nov 7, 2023
0360919
fix for hip ci
blegouix Nov 7, 2023
aec3dcc
Update tests.yml (#217)
tpadioleau Nov 8, 2023
7df3e12
fix MatrixSizesFixture.Sparse test
blegouix Nov 8, 2023
58e959f
fix
blegouix Nov 8, 2023
08ed2dc
fixes for warnings
blegouix Nov 8, 2023
79bb71f
revert an optimization which was actually slower
blegouix Nov 8, 2023
de5c033
fix
blegouix Nov 8, 2023
32f4d61
Move LD_LIBRARY_PATH to Docker build (#219)
jbigot Nov 8, 2023
c2b35c5
fix for hip
blegouix Nov 11, 2023
1c4cebc
use real_time in benchmark
blegouix Nov 12, 2023
8dadd76
Merge branch 'main' into splines-release
blegouix Nov 12, 2023
9e3e025
minor
blegouix Nov 12, 2023
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
10 changes: 5 additions & 5 deletions benchmarks/splines.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,28 +198,28 @@ BENCHMARK(characteristics_advection)
->RangeMultiplier(2)
->Ranges(
{{100, 1000},
{100, 500000},
{100, 100000},
{cols_per_par_chunk_ref, cols_per_par_chunk_ref},
{par_chunks_per_seq_chunk_ref, par_chunks_per_seq_chunk_ref},
{preconditionner_max_block_size_ref, preconditionner_max_block_size_ref}})
->MinTime(3);
->MinTime(3)->UseRealTime();
/*
BENCHMARK(characteristics_advection)
->RangeMultiplier(2)
->Ranges({{100, 1000}, {100000, 100000}, {64,65535}, {par_chunks_per_seq_chunk_ref, par_chunks_per_seq_chunk_ref}, {preconditionner_max_block_size_ref, preconditionner_max_block_size_ref}})
->MinTime(3);
->MinTime(3)->UseRealTime();
*/
/*
BENCHMARK(characteristics_advection)
->RangeMultiplier(2)
->Ranges({{100, 1000}, {100000, 100000}, {cols_per_par_chunk_ref, cols_per_par_chunk_ref}, {1, 10000}, {preconditionner_max_block_size_ref, preconditionner_max_block_size_ref}})
->MinTime(3);
->MinTime(3)->UseRealTime();
*/
/*
BENCHMARK(characteristics_advection)
->RangeMultiplier(2)
->Ranges({{100, 1000}, {100000, 100000}, {cols_per_par_chunk_ref, cols_per_par_chunk_ref}, {par_chunks_per_seq_chunk_ref, par_chunks_per_seq_chunk_ref}, {1, 32}})
->MinTime(3);
->MinTime(3)->UseRealTime();
*/

int main(int argc, char** argv)
Expand Down
2 changes: 1 addition & 1 deletion include/ddc/misc/ginkgo_executors.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ inline std::shared_ptr<gko::Executor> create_gko_exec()
#endif
#ifdef KOKKOS_ENABLE_HIP
if (std::is_same_v<ExecSpace, Kokkos::HIP>) {
return gko::CudaExecutor::create(0, create_default_host_executor());
return gko::HipExecutor::create(0, create_default_host_executor());
}
#endif
}