What's Changed
- Implement for_each and use it in the example by @tpadioleau in #1
- doxygen by @jbigot in #2
- Update example by @tpadioleau in #4
- Add some domain related traits by @tpadioleau in #3
- Add a new algorithm by @tpadioleau in #7
- Fixed typo and added rectilinear_domain test by @GSabelette in #8
- First steps markdown by @GSabelette in #10
- Remove ghostwidth, remove unnecessary copies in borders by @tpadioleau in #11
- Avoid forwarding at each iteration loop by @tpadioleau in #12
- Add an allocator parameter by @tpadioleau in #9
- Function call operators missing in Chunk/ChunkSpan by @tpadioleau in #14
- Test doc building on MR by @jbigot in #15
- Update submodules (google test & bench) by @jbigot in #17
- Improved site colors by @jbigot in #19
- Improved Chunk op() by @jbigot in #22
- Support operator== across dimension order by @jbigot in #26
- Update the About page by @jbigot in #16
- Improved Doxygen doc by @jbigot in #21
- Two minor fixes in tests by @jbigot in #20
- Expose vector & domain types in discretization by @jbigot in #28
- Offer initialization function generating base domains for uniform dis… by @jbigot in #29
- Updated cmake stuff & moved heat_equation to examples/ by @jbigot in #18
- Do not use a dedicated uniform domain file by @jbigot in #30
- Implement for_each recursively and use it in deepcopy by @jbigot in #23
- Also use GTest::gtest and use it to build GTest::gtest_main by @tpadioleau in #31
- Example improvements by @jbigot in #13
- Change inner layers by @tpadioleau in #38
- Implements a recursive for_each with OpenMP policy by @tpadioleau in #36
- Implement recursive transform reduce by @tpadioleau in #37
- Some fixes needed by the Intel compiler by @tpadioleau in #40
- Implement omp transform reduce by @tpadioleau in #39
- Free memory before copying other pointer by @tpadioleau in #51
- Use a single header by @tpadioleau in #52
- New workflow def by @jbigot in #55
- Game of life by @GSabelette in #54
- Avoid potential odr issue using inline variable by @tpadioleau in #59
- Introduce DiscreteElement class by @tpadioleau in #53
- Stop using deprecated interface by @jbigot in #60
- Make some ctors implicit by @jbigot in #61
- Add a test of Gyselalib++ by @jbigot in #62
- First kokkos implementation by @tpadioleau in #5
- Start the renaming by @tpadioleau in #63
- small cleanup by @jbigot in #64
- Improve macro and coverage by @tpadioleau in #66
- Remove commented-out code by @jbigot in #69
- Add CUDA & HIP build tests (no run test) by @jbigot in #68
- Use a single location for local space definition by @jbigot in #67
- Some cleaning regarding the Kokkos layer by @tpadioleau in #70
- Implement possibility to have empty discrete domains by @tpadioleau in #72
- Implement a store to keep track of dynamic allocations by @tpadioleau in #75
- Add a test about relocatable device code by @tpadioleau in #79
- Update CMakeLists.txt by @tpadioleau in #80
- Avoid extra memory allocation by @tpadioleau in #78
- Remove rank in discrete spaces by @tpadioleau in #81
- Add ddc namespace by @tpadioleau in #83
- Fix empty loops by @tpadioleau in #89
- Fix return value of deepcopy and restrict the parameters to borrowed … by @tpadioleau in #92
- Add a new algorithm and a test by @tpadioleau in #94
- Step is a double by @tpadioleau in #99
- Remove line raising unused warning by @EmilyBourne in #101
- Remove using namespace ddc by @tpadioleau in #111
- Support for 0D by @jbigot in #112
- Rename ddc::ddc_detail into ddc::detail by @tpadioleau in #120
- Remove deprecated functions by @tpadioleau in #122
- Remove bad dead code by @tpadioleau in #124
- Allow addition of non-exact matching objects by @EmilyBourne in #105
- Create multi-D
Coordinate
from multi-DDiscreteElement
by @EmilyBourne in #110 - Implement a md coordinate function by @tpadioleau in #127
- Update Kokkos to version 4.0.00 by @tpadioleau in #123
- Upgrade Kokkos 4.0.01 by @tpadioleau in #129
- Update environment for FFTW by @tpadioleau in #131
- Update compilation flags by @tpadioleau in #132
- Add a function to throw exception for CUDA/HIP errors by @tpadioleau in #133
- FFT by @blegouix in #130
- Use artifacts for docker images by @EmilyBourne in #108
- Update tests.yml by @tpadioleau in #136
- Improve doc generation by @jbigot in #139
- add tests in C++ 17, 20, 23 & factorize test.yml by @jbigot in #138
- No implicit fallthrough by @jbigot in #140
- Add junit report by @jbigot in #143
- Update to mdspan-0.6.0 by @tpadioleau in #104
- Upgrade to Kokkos 4.1.00 by @tpadioleau in #149
- Split images into smaller images by @tpadioleau in #156
- Add a clang-tidy test by @tpadioleau in #154
- Add missing clang-tidy headers checks by @tpadioleau in #158
- Experimental templatization gys changes by @blegouix in #147
- Fft cleaning by @tpadioleau in #159
- fft normalization test by @blegouix in #152
- Update discrete_space.hpp by @tpadioleau in #160
- Successful build of gyselalibxx is not a requirement anymore by @tpadioleau in #161
- Fix ADL issue by @tpadioleau in #164
- ASSERT_ to EXPECT_ by @tpadioleau in #166
- Fix warning when passing a host lambda to ddc parallel_host by @tpadioleau in #173
- Add a .clang-tidy file by @tpadioleau in #167
- Make it possible to use float instead of double by @tpadioleau in #168
- fix data_handle on a kokkos::view by @blegouix in #175
- Use unique_ptr to automatically call the destroy function by @tpadioleau in #170
- Fix subdomain functions by @tpadioleau in #177
- ddc policy obtained from Kokkos ExecSpace by @blegouix in #178
- Kokkos policy change how ExecSpace is passed by @blegouix in #179
- TypeSeqReplace by @blegouix in #180
- Change a comment by @blegouix in #188
- Kokkos For 0D by @blegouix in #183
- Remove unused warnings by @tpadioleau in #189
- Debug operator chunkspan by @blegouix in #186
- Add element_type member of TaggedVector by @EmilyBourne in #191
- Fix compilation and Kokkos initialization by @tpadioleau in #195
- Add missing destructors by @tpadioleau in #199
- Annotate functions, minor modifications on attributes inline and constexpr by @tpadioleau in #197
- Tests for AMD rdc issues by @tpadioleau in #200
- remove tests/fft.hpp to align fft and futur splines tests by @blegouix in #204
- Move static_assert by @tpadioleau in #206
- Update commented example about includes by @jbigot in #209
- Fix tagged vector assignment by @EmilyBourne in #210
- Add allocate function that takes a std::string by @tpadioleau in #208
- Second implementation of the combination of DiscreteElements by @tpadioleau in #207
- Add Ginkgo by @tpadioleau in #214
- Splines release by @blegouix in #201
- Update header.html by @jbigot in #220
- Remove HIP_FOR_NVIDIA option by @tpadioleau in #221
- Splines fixes by @blegouix in #224
- Mirroring by @blegouix in #203
- Remove const for ChunkSpan by @tpadioleau in #228
- Fix ChunkSpan constructor by @tpadioleau in #233
- Splines tuning cpu by @blegouix in #239
- Fix a dangling pointer expose to PDI by @jbigot in #235
- Update to Kokkos 4.2.00 by @tpadioleau in #242
- Fix some warnings, keeping sign-compare warnings by @tpadioleau in #237
- Port matrix test on GPU by @tpadioleau in #248
- Splines simple by @tpadioleau in #247
- Use 5.7.3 hip version by @tpadioleau in #253
- Remove DDC_LAMBDA by @tpadioleau in #255
- Additional comments and changed variable names in heat equation example by @alex-m-h in #240
- Non-periodic splines by @blegouix in #250
- Fix a type and make input chunk of SplineBuilder read-only by @tpadioleau in #257
- Fix dangling pointers issue by @tpadioleau in #264
- 2D splines by @blegouix in #252
- Simplify tests by @tpadioleau in #267
- Update Ginkgo dependency to version 1.7.0 by @tpadioleau in #263
- Update tests.yml by @tpadioleau in #269
- Update ddc headers by @tpadioleau in #268
- Splines derivs domain getter by @blegouix in #265
- Splines update knots_as_interpolation_points by @blegouix in #270
- Splines remove non batched by @blegouix in #261
- Splines remove _batched suffix by @blegouix in #272
- Splines release extrapolation by @blegouix in #256
- Splines recover transpose by @blegouix in #271
- Splines minor fixes by @blegouix in #275
- bandwidth -> throughput in benchmark by @blegouix in #279
- Deleting for_each_n function by @thierryantoun in #283
- Set required version to 0.6.0 by @tpadioleau in #282
- Policies dedicated file by @thierryantoun in #285
- Update actions to remove some warnings by @tpadioleau in #290
- Adding parallel_each functions. Adding the execution_space as an argument for the for_each/parallel_each functions by @thierryantoun in #288
- Update free-disk-space github action by @tpadioleau in #298
- Fix excessive loop unrolling by @EmilyBourne in #299
- Update bsplines_uniform.hpp by @tpadioleau in #302
- Update cmake options by @tpadioleau in #301
- Remove constexpr and update doc by @tpadioleau in #310
- ExecSpace&& to ExecSpace const& by @thierryantoun in #313
- ExecSpace() to exec_space by @thierryantoun in #314
- Rename fill and add a new parallel_fill by @tpadioleau in #293
- Rename transform_reduce and add a new parallel_transform_reduce by @tpadioleau in #296
- separate file for parallel_for_each function by @thierryantoun in #316
- Rename deepcopy and add a new parallel_deepcopy by @tpadioleau in #294
- Remove internal Kokkos::ScopeGuard from ddc::ScopeGuard by @tpadioleau in #305
- Add a check of trailing whitespace by @tpadioleau in #308
- Update parallel_for_each.hpp by @tpadioleau in #318
- Add layout constraint by @tpadioleau in #320
- Deprecate a ChunkSpan to Chunk conversion ctor in favor of create_mir… by @tpadioleau in #321
- Warn about the correct usage of
discrete_space
by @tpadioleau in #325 - Rename fill files to parallel_fill by @tpadioleau in #327
- Rename deepcopy files to parallel_deepcopy by @tpadioleau in #328
- Separate parallel_transform_reduce from transform_reduce by @tpadioleau in #326
- Test to get rid of sanitizer issues by @tpadioleau in #339
- Reuse compliant license by @jbigot in #338
- Allow to compile without the Kokkos::Serial backend by @tpadioleau in #324
- Remove random inline functions, let us rework later that with a real … by @tpadioleau in #340
- Remove deprecated Chunk constructor by @tpadioleau in #347
- Expose ExtrapolationRules from SplineEvaluator by @EmilyBourne in #348
- Decouple SplineEvaluator from domain by @EmilyBourne in #349
- Add missing namespace by @tpadioleau in #356
- Merge reuse into tests workflow by @tpadioleau in #357
- Update README with info to get and build code. by @acalloo in #343
- Update spline kernels with improvements from SLL by @EmilyBourne in #358
- Remove the continuous dimension of [Non]UniformBSplines by @tpadioleau in #365
- Rename all IsDiscreteSomething classes to is_discrete_something by @tpadioleau in #368
- Move the class ConversionOperators into detail namespace by @tpadioleau in #367
- Move the class DualDiscretization into detail namespace and into the … by @tpadioleau in #366
- Move chunk-like traits to a dedicated file by @tpadioleau in #369
- Remove coordinate_md.hpp, refactor and move content to coordinate.hpp by @tpadioleau in #370
- Fix out of bounds periodic evaluation by @EmilyBourne in #364
- Move ginkgo_executors.hpp into kernels/splines by @tpadioleau in #371
- Fix doc and warn as error by @tpadioleau in #372
- Rename mirror.hpp to create_mirror.hpp by @tpadioleau in #375
- Workaround ginkgo omp problem (use Gmres) by @blegouix in #377
- [FFT] init_fourier_space returns PeriodicSampling by @blegouix in #379
- cuFFT_AVAIL if Kokkos_ENABLE_CUDA=ON by @blegouix in #380
- Add a test with 'undefined' sanitizer by @tpadioleau in #323
- Update matrix_sparse.hpp by @tpadioleau in #384
- Fix extents in the case of empty chunk/chunkspan by @tpadioleau in #387
- Use gmres only with OMP by @blegouix in #392
- 388 upgrade kokkos 4300 by @tpadioleau in #389
- Another version of remove_dims_of by @blegouix in #391
- Update README.md by @tpadioleau in #398
- Update About.md by @rb214678 in #399
- Use kokkos_swap by @blegouix in #397
- Remove unused traits about domains by @tpadioleau in #400
- Add tag support v2 by @tpadioleau in #121
- [Splines] Fixes 402 by @blegouix in #405
- [Splines] mdspan-based API by @blegouix in #401
- ac/ddc std algos: add label on parallel_for_each by @acalloo in #361
- Ginkgo throw error if not converged by @blegouix in #406
- Add a check to ensure documentation is present by @EmilyBourne in #363
- [Splines] remove rank() by @blegouix in #413
- Hide base classes of dimensions by @tpadioleau in #417
- Remove spline_dim_type by @blegouix in #411
- Clarify splines names by @blegouix in #382
- Install doxygen 1.10 manually by @tpadioleau in #422
- [Splines] Remove is_radial by @blegouix in #423
- Allow the reordering of a DiscreteDomain by @EmilyBourne in #420
- Update tests.yml by @tpadioleau in #426
- [Splines] Privatize compute_offset by @blegouix in #412
- [Splines] Remove NATURAL boundary condition by @blegouix in #428
- Write the heat equation code with uniform space discretization by @thierryantoun in #410
- BSplines doc by @blegouix in #415
- keep hip installation up-to-date with amd recommendations by @tpadioleau in #446
- Matrix classes doc by @blegouix in #433
- Splines small classes doc by @blegouix in #431
- fix typo in DiscreteElement::operator-- by @blegouix in #445
- SplinesLinearSolver new API by @blegouix in #444
- Fix decrement operators for DiscreteVector by @tpadioleau in #449
- Use DDC concepts for B-spline knots by @EmilyBourne in #432
- Remove oldest image by @tpadioleau in #453
- Restore latest image with noble, PDI and HIP are disabled by @tpadioleau in #456
- Increase cmake minimum required to 3.22, compatible with ubuntu package by @tpadioleau in #457
- Fix the SplinesLinearProblem insertion operator by @tpadioleau in #458
- Fix inconsistency between explicit constructors and assignement ope… by @tpadioleau in #460
- Fix anonymous namespace issue on for HIP by @tpadioleau in #463
- Upgrade doxygen image by @tpadioleau in #454
- Splines linear solver dense by @blegouix in #451
- Enable PDI in Ubuntu Noble by @tpadioleau in #465
- 462 missing discretedomain reordered not equal operator in c++ 17 by @tpadioleau in #467
- Use value PRE_TEST of DISCOVERY_MODE by @tpadioleau in #469
- 461 empty discrete domains are not equal by @tpadioleau in #466
- Splines linear solver band by @blegouix in #464
- Simplify LAPACK cmake by @blegouix in #470
- Splines linear problem PDS band by @blegouix in #471
- Splines linear problem pds tridiag by @blegouix in #473
- Splines linear problem 2x2 blocks by @blegouix in #474
- SplineBuilder doc by @blegouix in #409
- Update polynomial_evaluator.hpp by @tpadioleau in #481
- Update tests.yml by @tpadioleau in #482
- Update cmake calls in the CI by @tpadioleau in #483
- Preinstall dependencies by @tpadioleau in #484
- Set error on old style cast and use static_cast by @tpadioleau in #485
- Modernize use nullptr by @tpadioleau in #486
- Align UniformBSplines API to NonUniformBSplines API by @EmilyBourne in #489
- Update pages.yml by @tpadioleau in #494
- Rename "interpolation" to "evaluation" in SplineEvaluator(2D) by @blegouix in #436
- Splines doc minor corrections by @blegouix in #495
- Doc sparse minor fix by @blegouix in #500
- DDC documentation for non uniform heat equation by @thierryantoun in #441
- Splines minor classes doc by @blegouix in #452
- SplineEvaluator doc by @blegouix in #430
- Splines linear problem periodic band by @blegouix in #477
- Type correction in the non uniform heat equation by @thierryantoun in #505
- Splines linear problem 3x3 blocks by @blegouix in #478
- Add readability-avoid-const-params-in-decls by @tpadioleau in #507
- Labelize ddc kernels by @blegouix in #509
- Update tests.yml by @tpadioleau in #513
- Add SFINAE to fix the selection of the algorithm by @tpadioleau in #514
- LAPACKE cmake workaround by @blegouix in #516
- Minor optimizations in splines linear problem maker by @blegouix in #515
- Splines LAPACK backend by @blegouix in #479
- SplineBuilder minor optimization by @blegouix in #517
- Bsplines relax float asserts by @blegouix in #519
- Improving myself :p by @blegouix in #522
- Characteristics advection non-periodic by @blegouix in #521
- Upgrade Ginkgo dependency to version 1.8.0 by @tpadioleau in #510
- Update splines.cpp by @tpadioleau in #527
- Tag -> CDim in splines by @blegouix in #529
- Add const qualifiers on multi-rhs in SplinesLinearProblem childs by @blegouix in #532
- Use alias GrevillePoints in characteristics_advection by @blegouix in #533
- Remove is_spline_interpolation_mesh_uniform by @blegouix in #536
- Typo preconditioner by @blegouix in #531
- Coord in benchmark by @blegouix in #530
- Left/Right -> Lower/Upper by @blegouix in #534
- Rename Matrix tests by @blegouix in #538
- Optimize 3x3 blocks by @blegouix in #518
- Rename mesh -> discrete_dimension in splines by @blegouix in #539
- Update formatting check by @tpadioleau in #546
- Clean splines continuous dimension by @blegouix in #540
- Splines kokkos kernels backend by @blegouix in #480
- Optimize 2x2 blocks by relying on spdm by @blegouix in #526
- Add a type trait returning the b-splines knot type by @tpadioleau in #548
- Readability improvement in splines tests by @blegouix in #551
- Update splines.cpp by @tpadioleau in #553
- Simplify fft + fix PeriodicSampling window by @blegouix in #541
- Comment about rounding errors by @tpadioleau in #556
- Remove deprecated type traits by @tpadioleau in #555
- FFT doc by @blegouix in #535
- FFT formatting by @tpadioleau in #557
- Improve
create_mirror[_view][_and_copy]
functions by @tpadioleau in #558 - remove_dims_of_t and replace_dims_of_t by @blegouix in #559
- Fix create_mirror_view by @blegouix in #561
- Fix lor and land reducers and make them template by @tpadioleau in #564
- Add tests for create_mirror[_view][_and_copy] functions by @tpadioleau in #565
- Run the examples in the CI by @tpadioleau in #567
- Bump fsfe/reuse-action from 3 to 4 by @dependabot in #573
- Bump actions/download-artifact from 3 to 4 by @dependabot in #572
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #574
- Deprecate mdomain_type type alias, replaced by discrete_domain_type by @tpadioleau in #575
- Use Kokkos helpers from Ginkgo 1.8.0 by @tpadioleau in #576
- Run non_uniform_heat_equation example in the ci, better control of th… by @tpadioleau in #569
- Buffer in SplinesLinearSolverSparse by @blegouix in #577
- Splines quadrature coefficients getter by @blegouix in #560
- Use trimleft, remove some unused tags, remove some empty lines, remov… by @tpadioleau in #579
- Splines improve benchmark by @blegouix in #496
- Deprecated get_interpolation_matrix in favor of quadrature_coefficients by @tpadioleau in #581
- Add a test for trailing whitespaces by @tpadioleau in #583
- Prefer ddc::create_mirror to HostAllocator by @tpadioleau in #587
- Remove detail::select_by_type_seq by @tpadioleau in #589
- Put fft tests in a dedicated directory by @tpadioleau in #591
- Add template variable to retrieve the number of types in a TypeSeq by @tpadioleau in #594
- Bump DoozyX/clang-format-lint-action from 0.17 to 0.18 by @dependabot in #600
- Fix the evaluation of bsplines infinitesimally close to the boundary by @EmilyBourne in #601
- Use rocm 6.2 in noble image by @tpadioleau in #597
- Try awesome doxygen template by @tpadioleau in #493
- Do not systematically pull images by @tpadioleau in #607
- Improve .clang-tidy file and rely on cmake to run clang-tidy by @tpadioleau in #603
- Update tests.yml by @tpadioleau in #610
- Add concept documentation by @thierryantoun in #537
- Fix display in examples by @tpadioleau in #596
- Inject the spline solver inside SplineBuider class by @tpadioleau in #614
- Make the periodic spline builder test run on the default device by @tpadioleau in #606
- Publish heat equation spectral example by @tpadioleau in #595
- Use out of image cache and push to ghcr by @tpadioleau in #617
- Forbid to construct a ChunkSpan from a rvalue of type Chunk by @tpadioleau in #619
- Fix credential warning by @tpadioleau in #621
- Install the minimum of dependencies and build ginkgo in release by @tpadioleau in #613
- Make integrals a host function by @tpadioleau in #620
- Fix feature testing and add missing guards on other operator != by @tpadioleau in #624
- Add misc-const-correctness clang tidy check by @tpadioleau in #625
- Upgrade to clang-format 18 by @tpadioleau in #627
- Add bugprone-branch-clone clang tidy check by @tpadioleau in #628
- Cleanup header includes by @tpadioleau in #629
- Remove iostream dependency by @tpadioleau in #630
- Fix knots as interpolation points by @tpadioleau in #636
- Cleanup headers by @tpadioleau in #648
- Fix concepts documentation by @tpadioleau in #634
- Add readability-else-after-return check by @tpadioleau in #638
- Add readability-braces-around-statements check by @tpadioleau in #637
- Add readability-uppercase-literal-suffix check by @tpadioleau in #642
- Add readability-isolate-declaration check by @tpadioleau in #641
- Add readability-inconsistent-declaration-parameter-name check by @tpadioleau in #640
- Add readability-static-definition-in-anonymous-namespace check by @tpadioleau in #639
- Add readability-convert-member-functions-to-static check by @tpadioleau in #650
- Add performance-avoid-endl check by @tpadioleau in #649
- Add google-readability-avoid-underscore-in-googletest-name check by @tpadioleau in #644
- Remove useless SYSTEM on install interface by @tpadioleau in #647
- Undef some macros when possible by @tpadioleau in #635
- Update rocm by @tpadioleau in #652
- Check Kokkos uses required options by @tpadioleau in #653
- Simplify ddc::parallel_for_each and ddc::parallel_transform_reduce im… by @tpadioleau in #645
- Use C++ random by @tpadioleau in #632
- Remove switches and catch bad values by @tpadioleau in #631
- Update clang format by @tpadioleau in #656
- Remove some dead code, put some code in detail by @tpadioleau in #658
- Use Kokkos 4.4.01 with mdspan coming from Kokkos by @tpadioleau in #651
- Rebase on KokkosFFT by @tpadioleau in #655
- Simplify fft full normalization by @tpadioleau in #663
- Add google-explicit-constructor check by @tpadioleau in #662
New Contributors
- @GSabelette made their first contribution in #8
- @EmilyBourne made their first contribution in #101
- @blegouix made their first contribution in #130
- @alex-m-h made their first contribution in #240
- @thierryantoun made their first contribution in #283
- @acalloo made their first contribution in #343
- @rb214678 made their first contribution in #399
- @dependabot made their first contribution in #573
Full Changelog: v0.0.0...v0.1.0