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

Use fixed clang format #1405

Conversation

MarcelKoch
Copy link
Member

@MarcelKoch MarcelKoch commented Sep 13, 2023

This PR enables us to force users to use the same version of clang-format as our CI. This is done by requiring contributors to install pre-commit (which can be done easily through pip/pipx). pre-commit allows us to fix the used version of clang-format, so that contributors will use exactly the same version as our CI.

If pre-commit can't be detected during cmake an error is thrown. Otherwise, the pre-commit hooks are installed.

Since this replaces our git-cmake-format, I have removed it.

To see it in action: here is an PR in a fork that shows the CI use cases MarcelKoch#9

Warning

For those using git-worktrees, if one working tree is updated with this PR it will overwrite the git hooks for all working trees (I don't think you can have different hooks for different working trees). The easy fix is of course to just update all used working trees accordingly.

@MarcelKoch MarcelKoch self-assigned this Sep 13, 2023
@ginkgo-bot ginkgo-bot added reg:build This is related to the build system. reg:ci-cd This is related to the continuous integration system. labels Sep 13, 2023
@MarcelKoch
Copy link
Member Author

Note: the changes to the CI will not be reflected in the CI runs here.

@MarcelKoch MarcelKoch added the 1:ST:ready-for-review This PR is ready for review label Sep 15, 2023
@yhmtsai
Copy link
Member

yhmtsai commented Nov 10, 2023

If we make git-cmake-format be able to handle max (or fixed version), does it also fit the same purpose?

@MarcelKoch
Copy link
Member Author

@yhmtsai Not really. First, it would need to be the exact version, not max. But what happens if the exact version is not available? The GCF can only raise an error and stop. This PR enables to automatically download the correct version. Also, it allows us to drop GCF entirely, so we have less things to maintain.

Copy link
Member

@yhmtsai yhmtsai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auto installation is good if it does not change user environment.

Comment on lines +1 to +3
repos:
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: 'v14.0.0' # The default in Ubuntu 22.04, which is used in our CI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because it install clang-format by pip, I wonder it affects/updates the local python package without notification.
Do you know how pre-commit manages the python environment and whether we can use this clang-format in editor?
nit: use two space to be consistent with the other yaml format

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really know, how the user environment is changes. But what I can tell you is that on my system, where I use pre-commit, I don't have clang-14 in my path, even though it is used by pre-commit.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After some search, it is handled by python virtualenv.
The default folder is ~/.cache/pre-commit https://[pre-commit](https://pre-commit.com/#managing-ci-caches).com/#managing-ci-caches
there's a folder (py_env-python3.9) under a random folder, source py_env-python3.9/bin/activate can run clang-format from the environment.
I am still looking for how to get the path correctly and use it in editor

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what do you need it in your editor? You can just run pre-commit run and it will do the formatting.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I usually run several times clang-format during coding with the default shortcut.
pre-commit requires us to run via command and pass files (or all-files)

Copy link
Member

@yhmtsai yhmtsai Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I mean no-concatenation will introduce issue from inconsistent clang-format.
local clang-format may break some comments which are considered long with this format. but pre-commit one does not break in that format.
For example, assuming pre-commit clang-format only puts the normal indentation for arguments, but local clang-format aligns the arguments
1 is the original code

void func(...,
          tttt // some text ...

2 is from local clang-format (break when it is too long)

void func(...,
          tttt // some text
               // more text

3 is format 1 from pre-commit clang-format, less indention so no need for breaking

void func(...,
    tttt // some text ...

4 is format 2 from pre-commit clang-format, no-concatenation if it is already split

void func(...,
    tttt // some text
         // more text

3 and 4 are different. If we apply format directly, we should get 3.
With inconsistent clang-format, we may get 4 in the end.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you still provide your clang-format version? I will still look into the issue you mentioned.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TBH, I think this might be one of those issues which just change depending on the clang format versions.
Just as an example, I used this:

    LinOp* apply(ptr_param<const LinOp> alpha,
                 ptr_param<const LinOp> b, // tis a long comment describing the parametr b for what ever reasons
                 ptr_param<const LinOp> beta,
                 ptr_param<LinOp> x)

and the pre-commit gave me:

    LinOp* apply(ptr_param<const LinOp> alpha,
                 ptr_param<const LinOp> b,  // tis a long comment describing the
                                            // parametr b for what ever reasons
                 ptr_param<const LinOp> beta, ptr_param<LinOp> x)

which is your 2. But maybe it depends more on the actual example.

Copy link
Member

@yhmtsai yhmtsai Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue happens when the different indention format clang-format, that's why the example is under the assumption.
For more realistic example, you need to look for the attribute usage.
Clang-format does not give any consistence between version if no option to control behavior such that we may have different indention. It's also why we need to fix a version for repo code not just rely on the config version requirement. There are always some undefined behavior across versions.
Otherwise, the config only requires 9+ and format_header only requires 12+.
clang-format 9, 12, 14, 17

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if I understand your point. The whole point of this PR is to fix a clang-format version that is used both in the CI and each local repo.

third_party/CMakeLists.txt Show resolved Hide resolved
.github/workflows/check-formatting.yml Outdated Show resolved Hide resolved
.github/format-rebase.sh Outdated Show resolved Hide resolved
@MarcelKoch MarcelKoch force-pushed the use-fixed-clang-format branch 2 times, most recently from df5e820 to b391b77 Compare November 13, 2023 12:23
@MarcelKoch
Copy link
Member Author

Here is a PR in my fork showing the updated CI: MarcelKoch#11

Copy link
Member

@upsj upsj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The general setup looks good to me. I definitely see it clashing with my clangd installation which handles the formatting, but it will be caught at commit time, so it should be acceptable. There are a few unrelated changes in the .gitlab-ci.yml we should revert. Also the github token usage leads to the comments coming from the wrong user.

.github/workflows/bot-pr-comment.yml Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
@upsj
Copy link
Member

upsj commented Nov 13, 2023

Reading through its documentation, It seems that pre-commit does not provide first-class support for C/C++. Do you see this becoming a problem at some point, or it becoming promoted to first-class in the future?

@MarcelKoch
Copy link
Member Author

AFAIK, pre-commit is mostly language agnostic. Which language is supported or not depends on the hook. Also, it is always possible to restrict the hooks to certain file sets, e.g. based on filename suffix.

Copy link
Member

@yhmtsai yhmtsai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from pre-commit/pre-commit#1468, pre-comment does not intend to export the repo usage. It's a bit sad because the inconsistence between local and pre-commit may introduce some annoying difference without notice.

with:
name: patch
path: format.patch
abidiff:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

abidiff is deleted accidentally

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I will revert that, when I prepare this branch for merging

@@ -21,8 +21,7 @@ jobs:
fail-fast: false
matrix:
config:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the following change should be rebased error

@@ -27,10 +27,8 @@ jobs:
fail-fast: false
matrix:
config:
# Debug shared exceeds symbol limit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

.gitlab-ci.yml Outdated
@@ -297,11 +295,9 @@ test/cuda110/nompi/clang/cuda/release/static:
variables:
USE_NAME: "cuda110-nompi-clang-${CI_PIPELINE_ID}"
SLURM_PARTITION: "accelerated"
SLURM_GRES: "gpu:4"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here?

Comment on lines +1 to +3
repos:
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: 'v14.0.0' # The default in Ubuntu 22.04, which is used in our CI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may work in almost case but failed with the comment and string because clang-format does not try to concat them back if break early.
local clang-format breaks the string/comment eariler due to different indentation or format. the pre-commit does not fix it if they are still under 80 column limit (but not correct)

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload code formatting patch
if: ${{ failure() && steps.pre-commit.outcome == 'failure' }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why does it need two failure?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because I don't want to trigger this if any other step failed, e.g. the git checkout step. But I guess it's not necessary, since the uploading would just also fail.
I will use only one failure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think keeping the second one should be enough? or the second one requires failure() to properly catch

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first one is necessary, see: https://docs.github.com/en/actions/learn-github-actions/expressions#status-check-functions. If failure() is not used, the if will implicitly use success().

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. Thanks for explanation. Keeping both looks good to me

@yhmtsai
Copy link
Member

yhmtsai commented Nov 13, 2023

It's not pre-commit intended usage. It might be failed if they change the cache way.
The following script such that we can use the auto installation in editor easily, too.

#!/usr/bin/env bash

PRE_COMMIT_CACHE="${HOME}/.cache/pre-commit"
# get the python environment folder from pre-commit
VENV="$(sqlite3 -header -csv ${PRE_COMMIT_CACHE}/db.db "select * from repos;" | grep clang-format,v14.0.0 | sed -E 's/.*,.*,(.*)/\1/g')"
ACTIVATE="$(find ${VENV} -name activate -print -quit)"
# activate env
source "${ACTIVATE}"
# forward the arguments
clang-format "$@"

@MarcelKoch MarcelKoch changed the base branch from develop to reuse-license-minimal November 14, 2023 09:57
@ginkgo-bot
Copy link
Member

Error: The following files need to be formatted:

accessor/accessor_helper.hpp
accessor/block_col_major.hpp
accessor/cuda_helper.hpp
accessor/hip_helper.hpp
accessor/index_span.hpp
accessor/math.hpp
accessor/range.hpp
accessor/reduced_row_major.hpp
accessor/reduced_row_major_reference.hpp
accessor/reference_helper.hpp
accessor/row_major.hpp
accessor/scaled_reduced_row_major.hpp
accessor/scaled_reduced_row_major_reference.hpp
accessor/utils.hpp
benchmark/blas/blas.cpp
benchmark/blas/blas_common.hpp
benchmark/blas/distributed/multi_vector.cpp
benchmark/conversion/conversion.cpp
benchmark/matrix_generator/matrix_generator.cpp
benchmark/matrix_statistics/matrix_statistics.cpp
benchmark/preconditioner/preconditioner.cpp
benchmark/solver/distributed/solver.cpp
benchmark/solver/solver.cpp
benchmark/solver/solver_common.hpp
benchmark/sparse_blas/operations.cpp
benchmark/sparse_blas/operations.hpp
benchmark/sparse_blas/sparse_blas.cpp
benchmark/spmv/distributed/spmv.cpp
benchmark/spmv/spmv.cpp
benchmark/spmv/spmv_common.hpp
benchmark/tools/matrix.cpp
benchmark/tools/mtx_to_binary.cpp
benchmark/utils/cuda_linops.cpp
benchmark/utils/cuda_timer.cpp
benchmark/utils/distributed_helpers.hpp
benchmark/utils/dpcpp_linops.dp.cpp
benchmark/utils/dpcpp_timer.dp.cpp
benchmark/utils/formats.hpp
benchmark/utils/general.hpp
benchmark/utils/general_matrix.hpp
benchmark/utils/generator.hpp
benchmark/utils/hip_linops.hip.cpp
benchmark/utils/hip_timer.hip.cpp
benchmark/utils/iteration_control.hpp
benchmark/utils/json.hpp
benchmark/utils/loggers.hpp
benchmark/utils/mpi_timer.cpp
benchmark/utils/overhead_linop.hpp
benchmark/utils/preconditioners.hpp
benchmark/utils/runner.hpp
benchmark/utils/sparselib_linops.hpp
benchmark/utils/stencil_matrix.hpp
benchmark/utils/timer.hpp
benchmark/utils/timer_impl.hpp
benchmark/utils/tuning_variables.cpp
benchmark/utils/tuning_variables.hpp
benchmark/utils/types.hpp
cmake/openmpi_test.cpp
common/cuda_hip/base/batch_multi_vector_kernel_launcher.hpp.inc
common/cuda_hip/base/batch_multi_vector_kernels.hpp.inc
common/cuda_hip/base/device_matrix_data_kernels.hpp.inc
common/cuda_hip/base/executor.hpp.inc
common/cuda_hip/base/kernel_launch.hpp.inc
common/cuda_hip/base/kernel_launch_reduction.hpp.inc
common/cuda_hip/base/kernel_launch_solver.hpp.inc
common/cuda_hip/base/math.hpp.inc
common/cuda_hip/components/atomic.hpp.inc
common/cuda_hip/components/diagonal_block_manipulation.hpp.inc
common/cuda_hip/components/intrinsics.hpp.inc
common/cuda_hip/components/memory.hpp.inc
common/cuda_hip/components/merging.hpp.inc
common/cuda_hip/components/prefix_sum.hpp.inc
common/cuda_hip/components/prefix_sum_kernels.hpp.inc
common/cuda_hip/components/reduction.hpp.inc
common/cuda_hip/components/searching.hpp.inc
common/cuda_hip/components/segment_scan.hpp.inc
common/cuda_hip/components/sorting.hpp.inc
common/cuda_hip/components/syncfree.hpp.inc
common/cuda_hip/components/thread_ids.hpp.inc
common/cuda_hip/components/uninitialized_array.hpp.inc
common/cuda_hip/components/warp_blas.hpp.inc
common/cuda_hip/distributed/matrix_kernels.hpp.inc
common/cuda_hip/distributed/partition_helpers_kernels.hpp.inc
common/cuda_hip/distributed/partition_kernels.hpp.inc
common/cuda_hip/distributed/vector_kernels.hpp.inc
common/cuda_hip/factorization/cholesky_kernels.hpp.inc
common/cuda_hip/factorization/factorization_kernels.hpp.inc
common/cuda_hip/factorization/lu_kernels.hpp.inc
common/cuda_hip/factorization/par_ic_kernels.hpp.inc
common/cuda_hip/factorization/par_ict_spgeam_kernels.hpp.inc
common/cuda_hip/factorization/par_ict_sweep_kernels.hpp.inc
common/cuda_hip/factorization/par_ilu_kernels.hpp.inc
common/cuda_hip/factorization/par_ilut_filter_kernels.hpp.inc
common/cuda_hip/factorization/par_ilut_select_kernels.hpp.inc
common/cuda_hip/factorization/par_ilut_spgeam_kernels.hpp.inc
common/cuda_hip/factorization/par_ilut_sweep_kernels.hpp.inc
common/cuda_hip/log/batch_logger.hpp.inc
common/cuda_hip/matrix/batch_dense_kernel_launcher.hpp.inc
common/cuda_hip/matrix/batch_dense_kernels.hpp.inc
common/cuda_hip/matrix/batch_ell_kernel_launcher.hpp.inc
common/cuda_hip/matrix/batch_ell_kernels.hpp.inc
common/cuda_hip/matrix/coo_kernels.hpp.inc
common/cuda_hip/matrix/csr_common.hpp.inc
common/cuda_hip/matrix/csr_kernels.hpp.inc
common/cuda_hip/matrix/dense_kernels.hpp.inc
common/cuda_hip/matrix/diagonal_kernels.hpp.inc
common/cuda_hip/matrix/ell_kernels.hpp.inc
common/cuda_hip/matrix/fbcsr_kernels.hpp.inc
common/cuda_hip/matrix/sellp_kernels.hpp.inc
common/cuda_hip/matrix/sparsity_csr_kernels.hpp.inc
common/cuda_hip/multigrid/pgm_kernels.hpp.inc
common/cuda_hip/preconditioner/batch_identity.hpp.inc
common/cuda_hip/preconditioner/isai_kernels.hpp.inc
common/cuda_hip/preconditioner/jacobi_advanced_apply_kernel.hpp.inc
common/cuda_hip/preconditioner/jacobi_generate_kernel.hpp.inc
common/cuda_hip/preconditioner/jacobi_kernels.hpp.inc
common/cuda_hip/preconditioner/jacobi_simple_apply_kernel.hpp.inc
common/cuda_hip/solver/batch_bicgstab_kernels.hpp.inc
common/cuda_hip/solver/cb_gmres_kernels.hpp.inc
common/cuda_hip/solver/common_gmres_kernels.hpp.inc
common/cuda_hip/solver/idr_kernels.hpp.inc
common/cuda_hip/solver/multigrid_kernels.hpp.inc
common/cuda_hip/stop/batch_criteria.hpp.inc
common/unified/base/device_matrix_data_kernels.cpp
common/unified/base/index_set_kernels.cpp
common/unified/base/kernel_launch.hpp
common/unified/base/kernel_launch_reduction.hpp
common/unified/base/kernel_launch_solver.hpp
common/unified/components/absolute_array_kernels.cpp
common/unified/components/fill_array_kernels.cpp
common/unified/components/format_conversion_kernels.cpp
common/unified/components/precision_conversion_kernels.cpp
common/unified/components/reduce_array_kernels.cpp
common/unified/distributed/partition_helpers_kernels.cpp
common/unified/distributed/partition_kernels.cpp
common/unified/matrix/coo_kernels.cpp
common/unified/matrix/csr_kernels.cpp
common/unified/matrix/dense_kernels.instantiate.cpp
common/unified/matrix/dense_kernels.template.cpp
common/unified/matrix/diagonal_kernels.cpp
common/unified/matrix/ell_kernels.cpp
common/unified/matrix/hybrid_kernels.cpp
common/unified/matrix/permutation_kernels.cpp
common/unified/matrix/scaled_permutation_kernels.cpp
common/unified/matrix/sellp_kernels.cpp
common/unified/matrix/sparsity_csr_kernels.cpp
common/unified/multigrid/pgm_kernels.cpp
common/unified/preconditioner/jacobi_kernels.cpp
common/unified/solver/bicg_kernels.cpp
common/unified/solver/bicgstab_kernels.cpp
common/unified/solver/cg_kernels.cpp
common/unified/solver/cgs_kernels.cpp
common/unified/solver/common_gmres_kernels.cpp
common/unified/solver/fcg_kernels.cpp
common/unified/solver/gcr_kernels.cpp
common/unified/solver/gmres_kernels.cpp
common/unified/solver/ir_kernels.cpp
core/base/allocator.hpp
core/base/array.cpp
core/base/batch_multi_vector.cpp
core/base/batch_multi_vector_kernels.hpp
core/base/batch_struct.hpp
core/base/batch_utilities.hpp
core/base/block_sizes.hpp
core/base/combination.cpp
core/base/composition.cpp
core/base/copy_assignable.hpp
core/base/dense_cache.cpp
core/base/device_matrix_data.cpp
core/base/device_matrix_data_kernels.hpp
core/base/dispatch_helper.hpp
core/base/executor.cpp
core/base/extended_float.hpp
core/base/index_set.cpp
core/base/index_set_kernels.hpp
core/base/iterator_factory.hpp
core/base/kernel_declaration.hpp
core/base/memory.cpp
core/base/mixed_precision_types.hpp
core/base/mpi.cpp
core/base/mtx_io.cpp
core/base/noop_scoped_device_id_guard.hpp
core/base/perturbation.cpp
core/base/timer.cpp
core/base/types.hpp
core/base/utils.hpp
core/base/version.cpp
core/components/absolute_array_kernels.hpp
core/components/addressable_pq.hpp
core/components/disjoint_sets.hpp
core/components/fill_array_kernels.hpp
core/components/format_conversion_kernels.hpp
core/components/precision_conversion_kernels.hpp
core/components/prefix_sum_kernels.hpp
core/components/reduce_array_kernels.hpp
core/device_hooks/common_kernels.inc.cpp
core/device_hooks/cuda_hooks.cpp
core/device_hooks/dpcpp_hooks.cpp
core/device_hooks/hip_hooks.cpp
core/device_hooks/omp_hooks.cpp
core/device_hooks/reference_hooks.cpp
core/distributed/helpers.hpp
core/distributed/matrix.cpp
core/distributed/matrix_kernels.hpp
core/distributed/partition.cpp
core/distributed/partition_helpers.cpp
core/distributed/partition_helpers_kernels.hpp
core/distributed/partition_kernels.hpp
core/distributed/preconditioner/schwarz.cpp
core/distributed/vector.cpp
core/distributed/vector_kernels.hpp
core/factorization/cholesky.cpp
core/factorization/cholesky_kernels.hpp
core/factorization/elimination_forest.cpp
core/factorization/elimination_forest.hpp
core/factorization/factorization.cpp
core/factorization/factorization_kernels.hpp
core/factorization/ic.cpp
core/factorization/ic_kernels.hpp
core/factorization/ilu.cpp
core/factorization/ilu_kernels.hpp
core/factorization/lu.cpp
core/factorization/lu_kernels.hpp
core/factorization/par_ic.cpp
core/factorization/par_ic_kernels.hpp
core/factorization/par_ict.cpp
core/factorization/par_ict_kernels.hpp
core/factorization/par_ilu.cpp
core/factorization/par_ilu_kernels.hpp
core/factorization/par_ilut.cpp
core/factorization/par_ilut_kernels.hpp
core/factorization/symbolic.cpp
core/factorization/symbolic.hpp
core/log/batch_logger.cpp
core/log/convergence.cpp
core/log/logger.cpp
core/log/papi.cpp
core/log/performance_hint.cpp
core/log/profiler_hook.cpp
core/log/profiler_hook.hpp
core/log/profiler_hook_summary.cpp
core/log/profiler_hook_summary_writer.cpp
core/log/record.cpp
core/log/stream.cpp
core/log/tau.cpp
core/log/vtune.cpp
core/matrix/batch_dense.cpp
core/matrix/batch_dense_kernels.hpp
core/matrix/batch_ell.cpp
core/matrix/batch_ell_kernels.hpp
core/matrix/batch_identity.cpp
core/matrix/batch_struct.hpp
core/matrix/coo.cpp
core/matrix/coo_builder.hpp
core/matrix/coo_kernels.hpp
core/matrix/csr.cpp
core/matrix/csr_accessor_helper.hpp
core/matrix/csr_builder.hpp
core/matrix/csr_kernels.hpp
core/matrix/csr_lookup.hpp
core/matrix/dense.cpp
core/matrix/dense_kernels.hpp
core/matrix/diagonal.cpp
core/matrix/diagonal_kernels.hpp
core/matrix/ell.cpp
core/matrix/ell_kernels.hpp
core/matrix/fbcsr.cpp
core/matrix/fbcsr_builder.hpp
core/matrix/fbcsr_kernels.hpp
core/matrix/fft.cpp
core/matrix/fft_kernels.hpp
core/matrix/hybrid.cpp
core/matrix/hybrid_kernels.hpp
core/matrix/identity.cpp
core/matrix/permutation.cpp
core/matrix/permutation.hpp
core/matrix/permutation_kernels.hpp
core/matrix/row_gatherer.cpp
core/matrix/scaled_permutation.cpp
core/matrix/scaled_permutation_kernels.hpp
core/matrix/sellp.cpp
core/matrix/sellp_kernels.hpp
core/matrix/sparsity_csr.cpp
core/matrix/sparsity_csr_kernels.hpp
core/mpi/exception.cpp
core/multigrid/fixed_coarsening.cpp
core/multigrid/pgm.cpp
core/multigrid/pgm_kernels.hpp
core/preconditioner/isai.cpp
core/preconditioner/isai_kernels.hpp
core/preconditioner/jacobi.cpp
core/preconditioner/jacobi_kernels.hpp
core/preconditioner/jacobi_utils.hpp
core/reorder/amd.cpp
core/reorder/mc64.cpp
core/reorder/mc64.hpp
core/reorder/nested_dissection.cpp
core/reorder/rcm.cpp
core/reorder/rcm_kernels.hpp
core/reorder/scaled_reordered.cpp
core/solver/batch_bicgstab.cpp
core/solver/batch_bicgstab_kernels.hpp
core/solver/batch_dispatch.hpp
core/solver/bicg.cpp
core/solver/bicg_kernels.hpp
core/solver/bicgstab.cpp
core/solver/bicgstab_kernels.hpp
core/solver/cb_gmres.cpp
core/solver/cb_gmres_accessor.hpp
core/solver/cb_gmres_kernels.hpp
core/solver/cg.cpp
core/solver/cg_kernels.hpp
core/solver/cgs.cpp
core/solver/cgs_kernels.hpp
core/solver/common_gmres_kernels.hpp
core/solver/direct.cpp
core/solver/fcg.cpp
core/solver/fcg_kernels.hpp
core/solver/gcr.cpp
core/solver/gcr_kernels.hpp
core/solver/gmres.cpp
core/solver/gmres_kernels.hpp
core/solver/idr.cpp
core/solver/idr_kernels.hpp
core/solver/ir.cpp
core/solver/ir_kernels.hpp
core/solver/lower_trs.cpp
core/solver/lower_trs_kernels.hpp
core/solver/multigrid.cpp
core/solver/multigrid_kernels.hpp
core/solver/solver_base.hpp
core/solver/solver_boilerplate.hpp
core/solver/upper_trs.cpp
core/solver/upper_trs_kernels.hpp
core/stop/combined.cpp
core/stop/criterion.cpp
core/stop/criterion_kernels.hpp
core/stop/iteration.cpp
core/stop/residual_norm.cpp
core/stop/residual_norm_kernels.hpp
core/stop/time.cpp
core/synthesizer/implementation_selection.hpp
core/test/accessor/block_col_major.cpp
core/test/accessor/index_span.cpp
core/test/accessor/math.cpp
core/test/accessor/range.cpp
core/test/accessor/reduced_row_major.cpp
core/test/accessor/reduced_row_major_ginkgo.cpp
core/test/accessor/reduced_row_major_reference.cpp
core/test/accessor/row_major.cpp
core/test/accessor/scaled_reduced_row_major.cpp
core/test/accessor/scaled_reduced_row_major_reference.cpp
core/test/base/abstract_factory.cpp
core/test/base/allocator.cpp
core/test/base/array.cpp
core/test/base/batch_dim.cpp
core/test/base/batch_lin_op.cpp
core/test/base/batch_multi_vector.cpp
core/test/base/combination.cpp
core/test/base/composition.cpp
core/test/base/deferred_factory.cpp
core/test/base/dense_cache.cpp
core/test/base/dim.cpp
core/test/base/exception.cpp
core/test/base/exception_helpers.cpp
core/test/base/executor.cpp
core/test/base/extended_float.cpp
core/test/base/iterator_factory.cpp
core/test/base/lin_op.cpp
core/test/base/math.cpp
core/test/base/matrix_assembly_data.cpp
core/test/base/matrix_data.cpp
core/test/base/mtx_io.cpp
core/test/base/perturbation.cpp
core/test/base/polymorphic_object.cpp
core/test/base/range.cpp
core/test/base/range_accessors.cpp
core/test/base/sanitizers.cpp
core/test/base/types.cpp
core/test/base/utils.cpp
core/test/base/version.cpp
core/test/components/addressable_pq.cpp
core/test/components/disjoint_sets.cpp
core/test/factorization/elimination_forest.cpp
core/test/factorization/par_ic.cpp
core/test/factorization/par_ict.cpp
core/test/factorization/par_ilu.cpp
core/test/factorization/par_ilut.cpp
core/test/gtest/environments.hpp
core/test/gtest/ginkgo_main.cpp
core/test/gtest/ginkgo_mpi_main.cpp
core/test/gtest/resources.cpp
core/test/gtest/resources.hpp
core/test/log/convergence.cpp
core/test/log/logger.cpp
core/test/log/papi.cpp
core/test/log/performance_hint.cpp
core/test/log/profiler_hook.cpp
core/test/log/record.cpp
core/test/log/stream.cpp
core/test/matrix/batch_dense.cpp
core/test/matrix/batch_ell.cpp
core/test/matrix/batch_identity.cpp
core/test/matrix/coo.cpp
core/test/matrix/coo_builder.cpp
core/test/matrix/csr.cpp
core/test/matrix/csr_builder.cpp
core/test/matrix/dense.cpp
core/test/matrix/diagonal.cpp
core/test/matrix/ell.cpp
core/test/matrix/fbcsr.cpp
core/test/matrix/fbcsr_builder.cpp
core/test/matrix/fbcsr_sample.hpp
core/test/matrix/hybrid.cpp
core/test/matrix/identity.cpp
core/test/matrix/permutation.cpp
core/test/matrix/row_gatherer.cpp
core/test/matrix/sellp.cpp
core/test/matrix/sparsity_csr.cpp
core/test/mpi/base/bindings.cpp
core/test/mpi/base/communicator.cpp
core/test/mpi/base/exception_helpers.cpp
core/test/mpi/base/polymorphic_object.cpp
core/test/mpi/base/rank_mapping.cpp
core/test/mpi/distributed/helpers.cpp
core/test/mpi/distributed/matrix.cpp
core/test/mpi/distributed/preconditioner/schwarz.cpp
core/test/multigrid/fixed_coarsening.cpp
core/test/multigrid/pgm.cpp
core/test/preconditioner/ic.cpp
core/test/preconditioner/ilu.cpp
core/test/preconditioner/isai.cpp
core/test/preconditioner/jacobi.cpp
core/test/reorder/amd.cpp
core/test/reorder/nested_dissection.cpp
core/test/reorder/rcm.cpp
core/test/reorder/scaled_reordered.cpp
core/test/solver/batch_bicgstab.cpp
core/test/solver/bicg.cpp
core/test/solver/bicgstab.cpp
core/test/solver/cb_gmres.cpp
core/test/solver/cg.cpp
core/test/solver/cgs.cpp
core/test/solver/direct.cpp
core/test/solver/fcg.cpp
core/test/solver/gcr.cpp
core/test/solver/gmres.cpp
core/test/solver/idr.cpp
core/test/solver/ir.cpp
core/test/solver/lower_trs.cpp
core/test/solver/multigrid.cpp
core/test/solver/upper_trs.cpp
core/test/solver/workspace.cpp
core/test/stop/combined.cpp
core/test/stop/criterion.cpp
core/test/stop/iteration.cpp
core/test/stop/stopping_status.cpp
core/test/stop/time.cpp
core/test/utils.hpp
core/test/utils/array_generator.hpp
core/test/utils/array_generator_test.cpp
core/test/utils/assertions.hpp
core/test/utils/assertions_test.cpp
core/test/utils/batch_helpers.hpp
core/test/utils/fb_matrix_generator.hpp
core/test/utils/fb_matrix_generator_test.cpp
core/test/utils/matrix_generator.hpp
core/test/utils/matrix_generator_test.cpp
core/test/utils/matrix_utils_test.cpp
core/test/utils/unsort_matrix.hpp
core/test/utils/unsort_matrix_test.cpp
core/test/utils/value_generator.hpp
core/test/utils/value_generator_test.cpp
core/utils/matrix_utils.hpp
cuda/base/batch_multi_vector_kernels.cu
cuda/base/batch_struct.hpp
cuda/base/config.hpp
cuda/base/cublas_bindings.hpp
cuda/base/curand_bindings.hpp
cuda/base/cusparse_bindings.hpp
cuda/base/cusparse_block_bindings.hpp
cuda/base/cusparse_handle.hpp
cuda/base/device.cpp
cuda/base/device.hpp
cuda/base/device_matrix_data_kernels.cu
cuda/base/exception.cpp
cuda/base/executor.cpp
cuda/base/index_set_kernels.cpp
cuda/base/kernel_config.hpp
cuda/base/kernel_launch.cuh
cuda/base/kernel_launch_reduction.cuh
cuda/base/kernel_launch_solver.cuh
cuda/base/math.hpp
cuda/base/memory.cpp
cuda/base/nvtx.cpp
cuda/base/pointer_mode_guard.hpp
cuda/base/scoped_device_id.cpp
cuda/base/scoped_device_id.hpp
cuda/base/stream.cpp
cuda/base/thrust.cuh
cuda/base/timer.cpp
cuda/base/types.hpp
cuda/base/version.cpp
cuda/components/atomic.cuh
cuda/components/cooperative_groups.cuh
cuda/components/diagonal_block_manipulation.cuh
cuda/components/format_conversion.cuh
cuda/components/intrinsics.cuh
cuda/components/memory.cuh
cuda/components/merging.cuh
cuda/components/prefix_sum.cuh
cuda/components/prefix_sum_kernels.cu
cuda/components/reduction.cuh
cuda/components/searching.cuh
cuda/components/segment_scan.cuh
cuda/components/sorting.cuh
cuda/components/syncfree.cuh
cuda/components/thread_ids.cuh
cuda/components/uninitialized_array.hpp
cuda/components/warp_blas.cuh
cuda/distributed/matrix_kernels.cu
cuda/distributed/partition_helpers_kernels.cu
cuda/distributed/partition_kernels.cu
cuda/distributed/vector_kernels.cu
cuda/factorization/cholesky_kernels.cu
cuda/factorization/factorization_kernels.cu
cuda/factorization/ic_kernels.cu
cuda/factorization/ilu_kernels.cu
cuda/factorization/lu_kernels.cu
cuda/factorization/par_ic_kernels.cu
cuda/factorization/par_ict_kernels.cu
cuda/factorization/par_ilu_kernels.cu
cuda/factorization/par_ilut_approx_filter_kernel.cu
cuda/factorization/par_ilut_filter_kernel.cu
cuda/factorization/par_ilut_select_common.cu
cuda/factorization/par_ilut_select_common.cuh
cuda/factorization/par_ilut_select_kernel.cu
cuda/factorization/par_ilut_spgeam_kernel.cu
cuda/factorization/par_ilut_sweep_kernel.cu
cuda/log/batch_logger.cuh
cuda/matrix/batch_dense_kernels.cu
cuda/matrix/batch_ell_kernels.cu
cuda/matrix/batch_struct.hpp
cuda/matrix/coo_kernels.cu
cuda/matrix/csr_kernels.instantiate.cu
cuda/matrix/csr_kernels.template.cu
cuda/matrix/dense_kernels.cu
cuda/matrix/diagonal_kernels.cu
cuda/matrix/ell_kernels.cu
cuda/matrix/fbcsr_kernels.instantiate.cu
cuda/matrix/fbcsr_kernels.template.cu
cuda/matrix/fft_kernels.cu
cuda/matrix/sellp_kernels.cu
cuda/matrix/sparsity_csr_kernels.cu
cuda/multigrid/pgm_kernels.cu
cuda/preconditioner/batch_preconditioners.cuh
cuda/preconditioner/isai_kernels.cu
cuda/preconditioner/jacobi_advanced_apply_instantiate.inc.cu
cuda/preconditioner/jacobi_advanced_apply_kernel.cu
cuda/preconditioner/jacobi_common.hpp.in
cuda/preconditioner/jacobi_generate_instantiate.inc.cu
cuda/preconditioner/jacobi_generate_kernel.cu
cuda/preconditioner/jacobi_kernels.cu
cuda/preconditioner/jacobi_simple_apply_instantiate.inc.cu
cuda/preconditioner/jacobi_simple_apply_kernel.cu
cuda/reorder/rcm_kernels.cu
cuda/solver/batch_bicgstab_kernels.cu
cuda/solver/cb_gmres_kernels.cu
cuda/solver/common_trs_kernels.cuh
cuda/solver/idr_kernels.cu
cuda/solver/lower_trs_kernels.cu
cuda/solver/multigrid_kernels.cu
cuda/solver/upper_trs_kernels.cu
cuda/stop/batch_criteria.cuh
cuda/stop/criterion_kernels.cu
cuda/stop/residual_norm_kernels.cu
cuda/test/base/array.cpp
cuda/test/base/cuda_executor.cu
cuda/test/base/cuda_executor_topology.cu
cuda/test/base/exception_helpers.cu
cuda/test/base/index_set.cpp
cuda/test/base/kernel_launch.cu
cuda/test/base/lin_op.cpp
cuda/test/base/math.cu
cuda/test/base/memory.cpp
cuda/test/base/scoped_device_id.cu
cuda/test/components/cooperative_groups.cu
cuda/test/components/merging.cu
cuda/test/components/searching.cu
cuda/test/components/sorting.cu
cuda/test/reorder/rcm_kernels.cpp
cuda/test/solver/lower_trs_kernels.cu
cuda/test/solver/upper_trs_kernels.cu
cuda/test/utils.hpp
cuda/test/utils/assertions_test.cu
dev_tools/oneapi/fake_interface/cooperative_groups.cuh
dev_tools/oneapi/working_directory/trick/cooperative_groups.hpp
dev_tools/oneapi/working_directory/trick/dim3_t.hpp
dev_tools/oneapi/working_directory/trick/reduction.hpp
dev_tools/oneapi/working_directory/trick/sorting.hpp
dev_tools/oneapi/working_directory/trick/thread_ids.hpp
devices/cuda/executor.cpp
devices/device.cpp
devices/dpcpp/executor.cpp
devices/hip/executor.cpp
devices/machine_topology.cpp
devices/omp/executor.cpp
devices/reference/dummy.cpp
doc/examples/examples.hpp.in
doc/headers/cuda_executor.hpp
doc/headers/dpcpp_executor.hpp
doc/headers/executors.hpp
doc/headers/factor.hpp
doc/headers/hip_executor.hpp
doc/headers/jacobi.hpp
doc/headers/linop.hpp
doc/headers/logging.hpp
doc/headers/matrix_formats.hpp
doc/headers/omp_executor.hpp
doc/headers/preconditioners.hpp
doc/headers/ref_executor.hpp
doc/headers/solvers.hpp
doc/headers/stop.hpp
dpcpp/base/batch_multi_vector_kernels.dp.cpp
dpcpp/base/batch_multi_vector_kernels.hpp.inc
dpcpp/base/batch_struct.hpp
dpcpp/base/config.hpp
dpcpp/base/device.hpp
dpcpp/base/device_matrix_data_kernels.dp.cpp
dpcpp/base/dim3.dp.hpp
dpcpp/base/dpct.hpp
dpcpp/base/executor.dp.cpp
dpcpp/base/helper.dp.cpp
dpcpp/base/helper.hpp
dpcpp/base/index_set_kernels.dp.cpp
dpcpp/base/kernel_launch.dp.hpp
dpcpp/base/kernel_launch_reduction.dp.hpp
dpcpp/base/kernel_launch_solver.dp.hpp
dpcpp/base/onedpl.hpp
dpcpp/base/onemkl_bindings.hpp
dpcpp/base/scoped_device_id.dp.cpp
dpcpp/base/timer.dp.cpp
dpcpp/base/version.dp.cpp
dpcpp/components/atomic.dp.hpp
dpcpp/components/cooperative_groups.dp.hpp
dpcpp/components/diagonal_block_manipulation.dp.hpp
dpcpp/components/format_conversion.dp.hpp
dpcpp/components/intrinsics.dp.hpp
dpcpp/components/matrix_operations.dp.hpp
dpcpp/components/merging.dp.hpp
dpcpp/components/prefix_sum.dp.hpp
dpcpp/components/prefix_sum_kernels.dp.cpp
dpcpp/components/reduction.dp.hpp
dpcpp/components/searching.dp.hpp
dpcpp/components/segment_scan.dp.hpp
dpcpp/components/sorting.dp.hpp
dpcpp/components/thread_ids.dp.hpp
dpcpp/components/uninitialized_array.hpp
dpcpp/components/warp_blas.dp.hpp
dpcpp/distributed/matrix_kernels.dp.cpp
dpcpp/distributed/partition_helpers_kernels.dp.cpp
dpcpp/distributed/partition_kernels.dp.cpp
dpcpp/distributed/vector_kernels.dp.cpp
dpcpp/factorization/cholesky_kernels.dp.cpp
dpcpp/factorization/factorization_kernels.dp.cpp
dpcpp/factorization/ic_kernels.dp.cpp
dpcpp/factorization/ilu_kernels.dp.cpp
dpcpp/factorization/lu_kernels.dp.cpp
dpcpp/factorization/par_ic_kernels.dp.cpp
dpcpp/factorization/par_ict_kernels.dp.cpp
dpcpp/factorization/par_ilu_kernels.dp.cpp
dpcpp/factorization/par_ilut_approx_filter_kernel.dp.cpp
dpcpp/factorization/par_ilut_filter_kernel.dp.cpp
dpcpp/factorization/par_ilut_filter_kernels.hpp.inc
dpcpp/factorization/par_ilut_kernels.dp.cpp
dpcpp/factorization/par_ilut_select_common.dp.cpp
dpcpp/factorization/par_ilut_select_common.dp.hpp
dpcpp/factorization/par_ilut_select_kernel.dp.cpp
dpcpp/factorization/par_ilut_select_kernels.hpp.inc
dpcpp/factorization/par_ilut_spgeam_kernel.dp.cpp
dpcpp/factorization/par_ilut_sweep_kernel.dp.cpp
dpcpp/log/batch_logger.hpp
dpcpp/matrix/batch_dense_kernels.dp.cpp
dpcpp/matrix/batch_dense_kernels.hpp.inc
dpcpp/matrix/batch_ell_kernels.dp.cpp
dpcpp/matrix/batch_ell_kernels.hpp.inc
dpcpp/matrix/batch_struct.hpp
dpcpp/matrix/coo_kernels.dp.cpp
dpcpp/matrix/csr_kernels.dp.cpp
dpcpp/matrix/dense_kernels.dp.cpp
dpcpp/matrix/diagonal_kernels.dp.cpp
dpcpp/matrix/ell_kernels.dp.cpp
dpcpp/matrix/fbcsr_kernels.dp.cpp
dpcpp/matrix/fft_kernels.dp.cpp
dpcpp/matrix/sellp_kernels.dp.cpp
dpcpp/matrix/sparsity_csr_kernels.dp.cpp
dpcpp/multigrid/pgm_kernels.dp.cpp
dpcpp/preconditioner/batch_identity.hpp.inc
dpcpp/preconditioner/batch_preconditioners.hpp
dpcpp/preconditioner/isai_kernels.dp.cpp
dpcpp/preconditioner/jacobi_advanced_apply_instantiate.inc.dp.cpp
dpcpp/preconditioner/jacobi_advanced_apply_kernel.dp.cpp
dpcpp/preconditioner/jacobi_common.hpp.in
dpcpp/preconditioner/jacobi_generate_instantiate.inc.dp.cpp
dpcpp/preconditioner/jacobi_generate_kernel.dp.cpp
dpcpp/preconditioner/jacobi_kernels.dp.cpp
dpcpp/preconditioner/jacobi_simple_apply_instantiate.inc.dp.cpp
dpcpp/preconditioner/jacobi_simple_apply_kernel.dp.cpp
dpcpp/reorder/rcm_kernels.dp.cpp
dpcpp/solver/batch_bicgstab_kernels.dp.cpp
dpcpp/solver/batch_bicgstab_kernels.hpp.inc
dpcpp/solver/cb_gmres_kernels.dp.cpp
dpcpp/solver/idr_kernels.dp.cpp
dpcpp/solver/lower_trs_kernels.dp.cpp
dpcpp/solver/multigrid_kernels.dp.cpp
dpcpp/solver/upper_trs_kernels.dp.cpp
dpcpp/stop/batch_criteria.hpp
dpcpp/stop/criterion_kernels.dp.cpp
dpcpp/stop/residual_norm_kernels.dp.cpp
dpcpp/synthesizer/implementation_selection.hpp
dpcpp/test/base/dim3.dp.cpp
dpcpp/test/base/executor.dp.cpp
dpcpp/test/base/kernel_launch.dp.cpp
dpcpp/test/components/cooperative_groups.dp.cpp
dpcpp/test/matrix/fbcsr_kernels.dp.cpp
dpcpp/test/preconditioner/jacobi_kernels.dp.cpp
dpcpp/test/utils.hpp
dpcpp/test_dpcpp.dp.cpp
examples/adaptiveprecision-blockjacobi/adaptiveprecision-blockjacobi.cpp
examples/cb-gmres/cb-gmres.cpp
examples/custom-logger/custom-logger.cpp
examples/custom-matrix-format/custom-matrix-format.cpp
examples/custom-matrix-format/stencil_kernel.cu
examples/custom-stopping-criterion/custom-stopping-criterion.cpp
examples/distributed-solver/distributed-solver.cpp
examples/ginkgo-overhead/ginkgo-overhead.cpp
examples/ginkgo-ranges/ginkgo-ranges.cpp
examples/heat-equation/heat-equation.cpp
examples/ilu-preconditioned-solver/ilu-preconditioned-solver.cpp
examples/inverse-iteration/inverse-iteration.cpp
examples/ir-ilu-preconditioned-solver/ir-ilu-preconditioned-solver.cpp
examples/iterative-refinement/iterative-refinement.cpp
examples/kokkos_assembly/kokkos_assembly.cpp
examples/minimal-cuda-solver/minimal-cuda-solver.cpp
examples/mixed-multigrid-preconditioned-solver/mixed-multigrid-preconditioned-solver.cpp
examples/mixed-multigrid-solver/mixed-multigrid-solver.cpp
examples/mixed-precision-ir/mixed-precision-ir.cpp
examples/mixed-spmv/mixed-spmv.cpp
examples/multigrid-preconditioned-solver-customized/multigrid-preconditioned-solver-customized.cpp
examples/multigrid-preconditioned-solver/multigrid-preconditioned-solver.cpp
examples/nine-pt-stencil-solver/nine-pt-stencil-solver.cpp
examples/papi-logging/papi-logging.cpp
examples/par-ilu-convergence/par-ilu-convergence.cpp
examples/performance-debugging/performance-debugging.cpp
examples/poisson-solver/poisson-solver.cpp
examples/preconditioned-solver/preconditioned-solver.cpp
examples/preconditioner-export/preconditioner-export.cpp
examples/schroedinger-splitting/schroedinger-splitting.cpp
examples/simple-solver-logging/simple-solver-logging.cpp
examples/simple-solver/simple-solver.cpp
examples/three-pt-stencil-solver/three-pt-stencil-solver.cpp
hip/base/batch_multi_vector_kernels.hip.cpp
hip/base/batch_struct.hip.hpp
hip/base/config.hip.hpp
hip/base/device.hip.cpp
hip/base/device.hpp
hip/base/device_matrix_data_kernels.hip.cpp
hip/base/exception.hip.cpp
hip/base/executor.hip.cpp
hip/base/hipblas_bindings.hip.hpp
hip/base/hiprand_bindings.hip.hpp
hip/base/hipsparse_bindings.hip.hpp
hip/base/hipsparse_block_bindings.hip.hpp
hip/base/index_set_kernels.hip.cpp
hip/base/kernel_launch.hip.hpp
hip/base/kernel_launch_reduction.hip.hpp
hip/base/kernel_launch_solver.hip.hpp
hip/base/math.hip.hpp
hip/base/memory.hip.cpp
hip/base/pointer_mode_guard.hip.hpp
hip/base/roctx.hip.cpp
hip/base/scoped_device_id.hip.cpp
hip/base/scoped_device_id.hip.hpp
hip/base/stream.hip.cpp
hip/base/thrust.hip.hpp
hip/base/timer.hip.cpp
hip/base/types.hip.hpp
hip/base/version.hip.cpp
hip/components/atomic.hip.hpp
hip/components/cooperative_groups.hip.hpp
hip/components/diagonal_block_manipulation.hip.hpp
hip/components/format_conversion.hip.hpp
hip/components/intrinsics.hip.hpp
hip/components/memory.hip.hpp
hip/components/merging.hip.hpp
hip/components/prefix_sum.hip.hpp
hip/components/prefix_sum_kernels.hip.cpp
hip/components/reduction.hip.hpp
hip/components/searching.hip.hpp
hip/components/segment_scan.hip.hpp
hip/components/sorting.hip.hpp
hip/components/syncfree.hip.hpp
hip/components/thread_ids.hip.hpp
hip/components/uninitialized_array.hip.hpp
hip/components/warp_blas.hip.hpp
hip/distributed/matrix_kernels.hip.cpp
hip/distributed/partition_helpers_kernels.hip.cpp
hip/distributed/partition_kernels.hip.cpp
hip/distributed/vector_kernels.hip.cpp
hip/factorization/cholesky_kernels.hip.cpp
hip/factorization/factorization_kernels.hip.cpp
hip/factorization/ic_kernels.hip.cpp
hip/factorization/ilu_kernels.hip.cpp
hip/factorization/lu_kernels.hip.cpp
hip/factorization/par_ic_kernels.hip.cpp
hip/factorization/par_ict_kernels.hip.cpp
hip/factorization/par_ilu_kernels.hip.cpp
hip/factorization/par_ilut_approx_filter_kernel.hip.cpp
hip/factorization/par_ilut_filter_kernel.hip.cpp
hip/factorization/par_ilut_select_common.hip.cpp
hip/factorization/par_ilut_select_common.hip.hpp
hip/factorization/par_ilut_select_kernel.hip.cpp
hip/factorization/par_ilut_spgeam_kernel.hip.cpp
hip/factorization/par_ilut_sweep_kernel.hip.cpp
hip/log/batch_logger.hip.hpp
hip/matrix/batch_dense_kernels.hip.cpp
hip/matrix/batch_ell_kernels.hip.cpp
hip/matrix/batch_struct.hip.hpp
hip/matrix/coo_kernels.hip.cpp
hip/matrix/csr_kernels.instantiate.hip.cpp
hip/matrix/csr_kernels.template.hip.cpp
hip/matrix/dense_kernels.hip.cpp
hip/matrix/diagonal_kernels.hip.cpp
hip/matrix/ell_kernels.hip.cpp
hip/matrix/fbcsr_kernels.instantiate.hip.cpp
hip/matrix/fbcsr_kernels.template.hip.cpp
hip/matrix/fft_kernels.hip.cpp
hip/matrix/fft_kernels_stub.hip.cpp
hip/matrix/sellp_kernels.hip.cpp
hip/matrix/sparsity_csr_kernels.hip.cpp
hip/multigrid/pgm_kernels.hip.cpp
hip/preconditioner/batch_preconditioners.hip.hpp
hip/preconditioner/isai_kernels.hip.cpp
hip/preconditioner/jacobi_advanced_apply_instantiate.inc.hip.cpp
hip/preconditioner/jacobi_advanced_apply_kernel.hip.cpp
hip/preconditioner/jacobi_common.hip.hpp.in
hip/preconditioner/jacobi_generate_instantiate.inc.hip.cpp
hip/preconditioner/jacobi_generate_kernel.hip.cpp
hip/preconditioner/jacobi_kernels.hip.cpp
hip/preconditioner/jacobi_simple_apply_instantiate.inc.hip.cpp
hip/preconditioner/jacobi_simple_apply_kernel.hip.cpp
hip/reorder/rcm_kernels.hip.cpp
hip/solver/batch_bicgstab_kernels.hip.cpp
hip/solver/cb_gmres_kernels.hip.cpp
hip/solver/common_trs_kernels.hip.hpp
hip/solver/idr_kernels.hip.cpp
hip/solver/lower_trs_kernels.hip.cpp
hip/solver/multigrid_kernels.hip.cpp
hip/solver/upper_trs_kernels.hip.cpp
hip/stop/batch_criteria.hip.hpp
hip/stop/criterion_kernels.hip.cpp
hip/stop/residual_norm_kernels.hip.cpp
hip/test/base/exception_helpers.hip.cpp
hip/test/base/hip_executor.hip.cpp
hip/test/base/hip_executor_topology.hip.cpp
hip/test/base/index_set.cpp
hip/test/base/kernel_launch.hip.cpp
hip/test/base/lin_op.cpp
hip/test/base/math.hip.cpp
hip/test/base/memory.cpp
hip/test/base/scoped_device_id.hip.cpp
hip/test/components/cooperative_groups.hip.cpp
hip/test/components/merging.hip.cpp
hip/test/components/searching.hip.cpp
hip/test/components/sorting.hip.cpp
hip/test/matrix/fbcsr_kernels.cpp
hip/test/matrix/fft_kernels.hip.cpp
hip/test/solver/lower_trs_kernels.cpp
hip/test/solver/upper_trs_kernels.cpp
hip/test/utils.hip.hpp
hip/test/utils/assertions_test.cpp
include/ginkgo/config.hpp.in
include/ginkgo/core/base/abstract_factory.hpp
include/ginkgo/core/base/array.hpp
include/ginkgo/core/base/batch_dim.hpp
include/ginkgo/core/base/batch_lin_op.hpp
include/ginkgo/core/base/batch_multi_vector.hpp
include/ginkgo/core/base/combination.hpp
include/ginkgo/core/base/composition.hpp
include/ginkgo/core/base/dense_cache.hpp
include/ginkgo/core/base/device.hpp
include/ginkgo/core/base/device_matrix_data.hpp
include/ginkgo/core/base/dim.hpp
include/ginkgo/core/base/exception.hpp
include/ginkgo/core/base/exception_helpers.hpp
include/ginkgo/core/base/executor.hpp
include/ginkgo/core/base/fwd_decls.hpp
include/ginkgo/core/base/index_set.hpp
include/ginkgo/core/base/intrinsics.hpp
include/ginkgo/core/base/lin_op.hpp
include/ginkgo/core/base/machine_topology.hpp
include/ginkgo/core/base/math.hpp
include/ginkgo/core/base/matrix_assembly_data.hpp
include/ginkgo/core/base/matrix_data.hpp
include/ginkgo/core/base/memory.hpp
include/ginkgo/core/base/mpi.hpp
include/ginkgo/core/base/mtx_io.hpp
include/ginkgo/core/base/name_demangling.hpp
include/ginkgo/core/base/perturbation.hpp
include/ginkgo/core/base/polymorphic_object.hpp
include/ginkgo/core/base/precision_dispatch.hpp
include/ginkgo/core/base/range.hpp
include/ginkgo/core/base/range_accessors.hpp
include/ginkgo/core/base/scoped_device_id_guard.hpp
include/ginkgo/core/base/std_extensions.hpp
include/ginkgo/core/base/stream.hpp
include/ginkgo/core/base/temporary_clone.hpp
include/ginkgo/core/base/temporary_conversion.hpp
include/ginkgo/core/base/timer.hpp
include/ginkgo/core/base/types.hpp
include/ginkgo/core/base/utils.hpp
include/ginkgo/core/base/utils_helper.hpp
include/ginkgo/core/base/version.hpp
include/ginkgo/core/distributed/base.hpp
include/ginkgo/core/distributed/lin_op.hpp
include/ginkgo/core/distributed/matrix.hpp
include/ginkgo/core/distributed/partition.hpp
include/ginkgo/core/distributed/partition_helpers.hpp
include/ginkgo/core/distributed/polymorphic_object.hpp
include/ginkgo/core/distributed/preconditioner/schwarz.hpp
include/ginkgo/core/distributed/vector.hpp
include/ginkgo/core/factorization/cholesky.hpp
include/ginkgo/core/factorization/factorization.hpp
include/ginkgo/core/factorization/ic.hpp
include/ginkgo/core/factorization/ilu.hpp
include/ginkgo/core/factorization/lu.hpp
include/ginkgo/core/factorization/par_ic.hpp
include/ginkgo/core/factorization/par_ict.hpp
include/ginkgo/core/factorization/par_ilu.hpp
include/ginkgo/core/factorization/par_ilut.hpp
include/ginkgo/core/log/batch_logger.hpp
include/ginkgo/core/log/convergence.hpp
include/ginkgo/core/log/logger.hpp
include/ginkgo/core/log/papi.hpp
include/ginkgo/core/log/performance_hint.hpp
include/ginkgo/core/log/profiler_hook.hpp
include/ginkgo/core/log/record.hpp
include/ginkgo/core/log/stream.hpp
include/ginkgo/core/matrix/batch_dense.hpp
include/ginkgo/core/matrix/batch_ell.hpp
include/ginkgo/core/matrix/batch_identity.hpp
include/ginkgo/core/matrix/coo.hpp
include/ginkgo/core/matrix/csr.hpp
include/ginkgo/core/matrix/dense.hpp
include/ginkgo/core/matrix/diagonal.hpp
include/ginkgo/core/matrix/ell.hpp
include/ginkgo/core/matrix/fbcsr.hpp
include/ginkgo/core/matrix/fft.hpp
include/ginkgo/core/matrix/hybrid.hpp
include/ginkgo/core/matrix/identity.hpp
include/ginkgo/core/matrix/permutation.hpp
include/ginkgo/core/matrix/row_gatherer.hpp
include/ginkgo/core/matrix/scaled_permutation.hpp
include/ginkgo/core/matrix/sellp.hpp
include/ginkgo/core/matrix/sparsity_csr.hpp
include/ginkgo/core/multigrid/fixed_coarsening.hpp
include/ginkgo/core/multigrid/multigrid_level.hpp
include/ginkgo/core/multigrid/pgm.hpp
include/ginkgo/core/preconditioner/ic.hpp
include/ginkgo/core/preconditioner/ilu.hpp
include/ginkgo/core/preconditioner/isai.hpp
include/ginkgo/core/preconditioner/jacobi.hpp
include/ginkgo/core/reorder/amd.hpp
include/ginkgo/core/reorder/mc64.hpp
include/ginkgo/core/reorder/nested_dissection.hpp
include/ginkgo/core/reorder/rcm.hpp
include/ginkgo/core/reorder/reordering_base.hpp
include/ginkgo/core/reorder/scaled_reordered.hpp
include/ginkgo/core/solver/batch_bicgstab.hpp
include/ginkgo/core/solver/batch_solver_base.hpp
include/ginkgo/core/solver/bicg.hpp
include/ginkgo/core/solver/bicgstab.hpp
include/ginkgo/core/solver/cb_gmres.hpp
include/ginkgo/core/solver/cg.hpp
include/ginkgo/core/solver/cgs.hpp
include/ginkgo/core/solver/direct.hpp
include/ginkgo/core/solver/fcg.hpp
include/ginkgo/core/solver/gcr.hpp
include/ginkgo/core/solver/gmres.hpp
include/ginkgo/core/solver/idr.hpp
include/ginkgo/core/solver/ir.hpp
include/ginkgo/core/solver/lower_trs.hpp
include/ginkgo/core/solver/multigrid.hpp
include/ginkgo/core/solver/solver_base.hpp
include/ginkgo/core/solver/solver_traits.hpp
include/ginkgo/core/solver/triangular.hpp
include/ginkgo/core/solver/upper_trs.hpp
include/ginkgo/core/solver/workspace.hpp
include/ginkgo/core/stop/batch_stop_enum.hpp
include/ginkgo/core/stop/combined.hpp
include/ginkgo/core/stop/criterion.hpp
include/ginkgo/core/stop/iteration.hpp
include/ginkgo/core/stop/residual_norm.hpp
include/ginkgo/core/stop/residual_norm_reduction.hpp
include/ginkgo/core/stop/stopping_status.hpp
include/ginkgo/core/stop/time.hpp
include/ginkgo/core/synthesizer/containers.hpp
include/ginkgo/ginkgo.hpp
include/ginkgo/ginkgo.hpp.in
matrices/config.hpp.in
omp/base/batch_multi_vector_kernels.cpp
omp/base/device_matrix_data_kernels.cpp
omp/base/executor.cpp
omp/base/index_set_kernels.cpp
omp/base/kernel_launch.hpp
omp/base/kernel_launch_reduction.hpp
omp/base/kernel_launch_solver.hpp
omp/base/scoped_device_id.cpp
omp/base/version.cpp
omp/components/atomic.hpp
omp/components/csr_spgeam.hpp
omp/components/matrix_operations.hpp
omp/components/omp_mutex.hpp
omp/components/prefix_sum_kernels.cpp
omp/components/sort_small.hpp
omp/distributed/matrix_kernels.cpp
omp/distributed/partition_helpers_kernels.cpp
omp/distributed/partition_kernels.cpp
omp/distributed/vector_kernels.cpp
omp/factorization/cholesky_kernels.cpp
omp/factorization/factorization_kernels.cpp
omp/factorization/ic_kernels.cpp
omp/factorization/ilu_kernels.cpp
omp/factorization/lu_kernels.cpp
omp/factorization/par_ic_kernels.cpp
omp/factorization/par_ict_kernels.cpp
omp/factorization/par_ilu_kernels.cpp
omp/factorization/par_ilut_kernels.cpp
omp/matrix/batch_dense_kernels.cpp
omp/matrix/batch_ell_kernels.cpp
omp/matrix/coo_kernels.cpp
omp/matrix/csr_kernels.cpp
omp/matrix/dense_kernels.cpp
omp/matrix/diagonal_kernels.cpp
omp/matrix/ell_kernels.cpp
omp/matrix/fbcsr_kernels.cpp
omp/matrix/fft_kernels.cpp
omp/matrix/sellp_kernels.cpp
omp/matrix/sparsity_csr_kernels.cpp
omp/multigrid/pgm_kernels.cpp
omp/preconditioner/isai_kernels.cpp
omp/preconditioner/jacobi_kernels.cpp
omp/reorder/rcm_kernels.cpp
omp/solver/batch_bicgstab_kernels.cpp
omp/solver/cb_gmres_kernels.cpp
omp/solver/idr_kernels.cpp
omp/solver/lower_trs_kernels.cpp
omp/solver/multigrid_kernels.cpp
omp/solver/upper_trs_kernels.cpp
omp/stop/criterion_kernels.cpp
omp/stop/residual_norm_kernels.cpp
omp/test/base/index_set.cpp
omp/test/base/kernel_launch.cpp
omp/test/matrix/fbcsr_kernels.cpp
omp/test/reorder/rcm_kernels.cpp
reference/base/batch_multi_vector_kernels.cpp
reference/base/batch_multi_vector_kernels.hpp.inc
reference/base/batch_struct.hpp
reference/base/device_matrix_data_kernels.cpp
reference/base/index_set_kernels.cpp
reference/base/scoped_device_id.cpp
reference/base/version.cpp
reference/components/absolute_array_kernels.cpp
reference/components/convert_ptrs.hpp
reference/components/csr_spgeam.hpp
reference/components/fill_array_kernels.cpp
reference/components/format_conversion_kernels.cpp
reference/components/matrix_operations.hpp
reference/components/precision_conversion_kernels.cpp
reference/components/prefix_sum_kernels.cpp
reference/components/reduce_array_kernels.cpp
reference/distributed/matrix_kernels.cpp
reference/distributed/partition_helpers_kernels.cpp
reference/distributed/partition_kernels.cpp
reference/distributed/vector_kernels.cpp
reference/factorization/cholesky_kernels.cpp
reference/factorization/factorization_kernels.cpp
reference/factorization/ic_kernels.cpp
reference/factorization/ilu_kernels.cpp
reference/factorization/lu_kernels.cpp
reference/factorization/par_ic_kernels.cpp
reference/factorization/par_ict_kernels.cpp
reference/factorization/par_ilu_kernels.cpp
reference/factorization/par_ilut_kernels.cpp
reference/log/batch_logger.hpp
reference/matrix/batch_dense_kernels.cpp
reference/matrix/batch_dense_kernels.hpp.inc
reference/matrix/batch_ell_kernels.cpp
reference/matrix/batch_ell_kernels.hpp.inc
reference/matrix/batch_struct.hpp
reference/matrix/coo_kernels.cpp
reference/matrix/csr_kernels.cpp
reference/matrix/dense_kernels.cpp
reference/matrix/diagonal_kernels.cpp
reference/matrix/ell_kernels.cpp
reference/matrix/fbcsr_kernels.cpp
reference/matrix/fft_kernels.cpp
reference/matrix/hybrid_kernels.cpp
reference/matrix/permutation_kernels.cpp
reference/matrix/scaled_permutation_kernels.cpp
reference/matrix/sellp_kernels.cpp
reference/matrix/sparsity_csr_kernels.cpp
reference/multigrid/pgm_kernels.cpp
reference/preconditioner/batch_identity.hpp
reference/preconditioner/isai_kernels.cpp
reference/preconditioner/jacobi_kernels.cpp
reference/reorder/rcm_kernels.cpp
reference/solver/batch_bicgstab_kernels.cpp
reference/solver/batch_bicgstab_kernels.hpp.inc
reference/solver/bicg_kernels.cpp
reference/solver/bicgstab_kernels.cpp
reference/solver/cb_gmres_kernels.cpp
reference/solver/cg_kernels.cpp
reference/solver/cgs_kernels.cpp
reference/solver/common_gmres_kernels.cpp
reference/solver/fcg_kernels.cpp
reference/solver/gcr_kernels.cpp
reference/solver/gmres_kernels.cpp
reference/solver/idr_kernels.cpp
reference/solver/ir_kernels.cpp
reference/solver/lower_trs_kernels.cpp
reference/solver/multigrid_kernels.cpp
reference/solver/upper_trs_kernels.cpp
reference/stop/batch_criteria.hpp
reference/stop/criterion_kernels.cpp
reference/stop/residual_norm_kernels.cpp
reference/test/base/array.cpp
reference/test/base/batch_multi_vector_kernels.cpp
reference/test/base/combination.cpp
reference/test/base/composition.cpp
reference/test/base/index_set.cpp
reference/test/base/perturbation.cpp
reference/test/base/utils.cpp
reference/test/components/absolute_array_kernels.cpp
reference/test/components/fill_array_kernels.cpp
reference/test/components/format_conversion_kernels.cpp
reference/test/components/precision_conversion_kernels.cpp
reference/test/components/prefix_sum_kernels.cpp
reference/test/components/reduce_array_kernels.cpp
reference/test/distributed/matrix_kernels.cpp
reference/test/distributed/partition_helpers_kernels.cpp
reference/test/distributed/partition_kernels.cpp
reference/test/distributed/vector_kernels.cpp
reference/test/factorization/cholesky_kernels.cpp
reference/test/factorization/factorization.cpp
reference/test/factorization/ic_kernels.cpp
reference/test/factorization/ilu_kernels.cpp
reference/test/factorization/lu_kernels.cpp
reference/test/factorization/par_ic_kernels.cpp
reference/test/factorization/par_ict_kernels.cpp
reference/test/factorization/par_ilu_kernels.cpp
reference/test/factorization/par_ilut_kernels.cpp
reference/test/log/convergence.cpp
reference/test/log/papi.cpp
reference/test/matrix/batch_dense_kernels.cpp
reference/test/matrix/batch_ell_kernels.cpp
reference/test/matrix/coo_kernels.cpp
reference/test/matrix/csr_kernels.cpp
reference/test/matrix/dense_kernels.cpp
reference/test/matrix/diagonal_kernels.cpp
reference/test/matrix/ell_kernels.cpp
reference/test/matrix/fbcsr_kernels.cpp
reference/test/matrix/fft_kernels.cpp
reference/test/matrix/hybrid_kernels.cpp
reference/test/matrix/identity.cpp
reference/test/matrix/permutation.cpp
reference/test/matrix/scaled_permutation.cpp
reference/test/matrix/sellp_kernels.cpp
reference/test/matrix/sparsity_csr.cpp
reference/test/matrix/sparsity_csr_kernels.cpp
reference/test/multigrid/fixed_coarsening_kernels.cpp
reference/test/multigrid/pgm_kernels.cpp
reference/test/preconditioner/ic.cpp
reference/test/preconditioner/ilu.cpp
reference/test/preconditioner/isai_kernels.cpp
reference/test/preconditioner/jacobi.cpp
reference/test/preconditioner/jacobi_kernels.cpp
reference/test/reorder/mc64.cpp
reference/test/reorder/mc64_kernels.cpp
reference/test/reorder/nested_dissection.cpp
reference/test/reorder/rcm.cpp
reference/test/reorder/rcm_kernels.cpp
reference/test/reorder/scaled_reordered.cpp
reference/test/solver/batch_bicgstab_kernels.cpp
reference/test/solver/bicg_kernels.cpp
reference/test/solver/bicgstab_kernels.cpp
reference/test/solver/cb_gmres_kernels.cpp
reference/test/solver/cg_kernels.cpp
reference/test/solver/cgs_kernels.cpp
reference/test/solver/direct.cpp
reference/test/solver/fcg_kernels.cpp
reference/test/solver/gcr_kernels.cpp
reference/test/solver/gmres_kernels.cpp
reference/test/solver/idr_kernels.cpp
reference/test/solver/ir_kernels.cpp
reference/test/solver/lower_trs.cpp
reference/test/solver/lower_trs_kernels.cpp
reference/test/solver/multigrid_kernels.cpp
reference/test/solver/upper_trs.cpp
reference/test/solver/upper_trs_kernels.cpp
reference/test/stop/combined.cpp
reference/test/stop/criterion_kernels.cpp
reference/test/stop/iteration.cpp
reference/test/stop/residual_norm_kernels.cpp
reference/test/stop/time.cpp
reference/test/utils/assertions_test.cpp
test/base/batch_multi_vector_kernels.cpp
test/base/device_matrix_data_kernels.cpp
test/base/executor.cpp
test/base/kernel_launch_generic.cpp
test/base/timer.cpp
test/components/absolute_array_kernels.cpp
test/components/fill_array_kernels.cpp
test/components/format_conversion_kernels.cpp
test/components/precision_conversion_kernels.cpp
test/components/prefix_sum_kernels.cpp
test/components/reduce_array_kernels.cpp
test/distributed/matrix_kernels.cpp
test/distributed/partition_helper_kernels.cpp
test/distributed/partition_kernels.cpp
test/distributed/vector_kernels.cpp
test/factorization/cholesky_kernels.cpp
test/factorization/ic_kernels.cpp
test/factorization/ilu_kernels.cpp
test/factorization/lu_kernels.cpp
test/factorization/par_ic_kernels.cpp
test/factorization/par_ict_kernels.cpp
test/factorization/par_ilu_kernels.cpp
test/factorization/par_ilut_kernels.cpp
test/log/profiler_hook.cpp
test/matrix/batch_dense_kernels.cpp
test/matrix/batch_ell_kernels.cpp
test/matrix/coo_kernels.cpp
test/matrix/csr_kernels.cpp
test/matrix/csr_kernels2.cpp
test/matrix/dense_kernels.cpp
test/matrix/diagonal_kernels.cpp
test/matrix/ell_kernels.cpp
test/matrix/fbcsr_kernels.cpp
test/matrix/fft_kernels.cpp
test/matrix/hybrid_kernels.cpp
test/matrix/matrix.cpp
test/matrix/permutation_kernels.cpp
test/matrix/scaled_permutation_kernels.cpp
test/matrix/sellp_kernels.cpp
test/matrix/sparsity_csr_kernels.cpp
test/mpi/matrix.cpp
test/mpi/partition_helpers.cpp
test/mpi/preconditioner/schwarz.cpp
test/mpi/solver/solver.cpp
test/mpi/vector.cpp
test/multigrid/fixed_coarsening_kernels.cpp
test/multigrid/pgm_kernels.cpp
test/preconditioner/isai_kernels.cpp
test/preconditioner/jacobi_kernels.cpp
test/reorder/amd.cpp
test/reorder/mc64.cpp
test/reorder/nested_dissection.cpp
test/solver/batch_bicgstab_kernels.cpp
test/solver/bicg_kernels.cpp
test/solver/bicgstab_kernels.cpp
test/solver/cb_gmres_kernels.cpp
test/solver/cg_kernels.cpp
test/solver/cgs_kernels.cpp
test/solver/direct.cpp
test/solver/fcg_kernels.cpp
test/solver/gcr_kernels.cpp
test/solver/gmres_kernels.cpp
test/solver/idr_kernels.cpp
test/solver/ir_kernels.cpp
test/solver/lower_trs_kernels.cpp
test/solver/multigrid_kernels.cpp
test/solver/solver.cpp
test/solver/upper_trs_kernels.cpp
test/stop/combined_kernels.cpp
test/stop/criterion_kernels.cpp
test/stop/residual_norm_kernels.cpp
test/test_install/test_install.cpp
test/tools/resource_file_generator.cpp
test/utils/executor.hpp
test/utils/mpi/executor.hpp

You can find a formatting patch under Artifacts here or run format! if you have write access to Ginkgo

@MarcelKoch MarcelKoch deleted the branch ginkgo-project:reuse-license-minimal November 14, 2023 15:12
@MarcelKoch MarcelKoch closed this Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1:ST:ready-for-review This PR is ready for review reg:build This is related to the build system. reg:ci-cd This is related to the continuous integration system.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants