Repository navigation
Finish task based threading - #92
Open
PierreMarchand20 wants to merge 8 commits into
Open
PierreMarchand20 wants to merge 8 commits into
PierreMarchand20 wants to merge 8 commits into
Conversation
PierreMarchand20
force-pushed
the
finish_task_based_threading
branch
from
October 13, 2026 14:06
167533b to
6d45fe1
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #92 +/- ##
==========================================
+ Coverage 97.19% 98.22% +1.03%
==========================================
Files 80 211 +131
Lines 5132 12107 +6975
==========================================
+ Hits 4988 11892 +6904
- Misses 144 215 +71 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
PierreMarchand20
force-pushed
the
finish_task_based_threading
branch
2 times, most recently
from
October 15, 2026 06:14
61ec9de to
b9081a0
Compare
… on overlapping subdomains.
HMatrixTaskDependencies::L0 holds const HMatrix pointers; the task-based kernels write through the HMatrix they receive, using the new get_mutable_node. Fix beta/alpha scaling of the whole matrix in the task-based product and triangular solves called on a sub-block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… task-based kernels. Solves move to solve.hpp, with row-major task-based variants that only create the tasks. LocalHMatrixSolver uses its execution policy for the solves too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The policy is used for the factorization of the local HMatrix and the solves with it, through new execution policy overloads of internal_triangular_hmatrix_matrix_solve, internal_triangular_ldlt_hmatrix_matrix_solve and internal_apply_ldlt_diagonal on a Matrix, with their task-based versions. The dense products and factorization of the overlap stay sequential. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…xecution policy to scale. Low-level sequential kernels go to seq/, OpenMP parallel-for ones to omp/ and task-based ones to omp_task/ (without the task_based_ prefix in file names). Top-level headers only keep the user-facing functions and the execution-policy dispatch, including the new triangular_hmatrix_matrix_solve.hpp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HMatrixTaskDependencies now also stores cuts of the target and source cluster trees (target_L0, source_L0), used as dependencies on the output and input vectors of the task-based product. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PierreMarchand20
force-pushed
the
finish_task_based_threading
branch
2 times, most recently
from
October 15, 2026 10:50
4a5ddbc to
8762a84
Compare
… the task-based vector product. New task-based kernel task_based_internal_add_hmatrix_matrix_product_row_major, with the same dependencies as the vector one. task_based_internal_add_hmatrix_vector_product used wrong offsets on clusters with a nonzero offset, which the tests did not catch since they used root clusters and their check only failed on NaN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ut leak detection. LeakSanitizer may report allocations of libgomp for tasks with dependences (see Test_task_based_hmatrix_factorization). The task-based checks of the builder, product, distributed operator and local solver tests are moved to test_task_based_* executables run with ASAN_OPTIONS=detect_leaks=0, so that the other tests keep checking leaks. The task-based product test now runs with 1, 2 and 4 MPI processes, to check the products on local clusters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PierreMarchand20
force-pushed
the
finish_task_based_threading
branch
from
October 15, 2026 13:37
8762a84 to
e41d77e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.