ginkgo icon indicating copy to clipboard operation
ginkgo copied to clipboard

Remove format_header.sh

Open MarcelKoch opened this issue 1 year ago • 8 comments

This PR removes the format_header.sh in favor of purely relying on clang-format. The .clang-format is updated to allow regrouping of includes. In total, out of the affected 1000 files, only ~200 have non-whitespace changes. Many of those are regarding the ginkgo main header, or previously missing

Include groups (ordered by their prority)

  1. <oneapi/... since we used force-top with that a lot.
  2. <hip/hip_runtime.h> same
  3. 'main' include
  4. STL
  5. backend library, i.e. cuda/hip/omp/mpi/...
  6. third party library
  7. Ginkgo main header
  8. Ginkgo headers
  9. Other <...> includes
  10. All "..." includes

This is mostly based on the already used regrouping in format_header.sh.

Notable Changes

  • The 'main' header of an implementation file now uses "...", instead of <...>. This is required, since clang-format can't deduce the main header otherwise.
  • force-top is removed and instead handling by using negative priorities in .clang-format. In very few cases this is not sufficient, and there clang-format on/off achieves the same results.
  • Only 1 empty line between separate groups of includes. It is not possible to adjust that with a clang-format setting.
  • The <ginkgo/ginkgo.hpp> header is now ordered after standard library includes
  • Some 'main' headers are not recognized. This concerns especially backend headers, which add stuff to code headers, for example cuda/matrix/batch_struct.hpp will not have core/matrix/batch_struct.hpp as its main header anymore.
  • Split up implementations, like for the Jacobi preconditioner, don't recognize the 'main' header correctly. One solution could be to use the same splitting approach as for CSR/FBCSR kernels.

Since the format_header.sh script is very complex, I think these changes are a small price to removing it.

MarcelKoch avatar Nov 16 '23 16:11 MarcelKoch

I like it, if it performs well, this should make IDE integration of our header ordering much smoother

upsj avatar Nov 16 '23 16:11 upsj

The non-whitespace diff can be obtained with:

git diff -b -B -w -z --ignore-space-at-eol --ignore-blank-lines 195e5bf3..195e5bf3~1

The diff is also attached here. diff.txt

MarcelKoch avatar Nov 16 '23 16:11 MarcelKoch

<oneapi/.. -> <oneapi/dpl... only the dpl need to be on the top. the other oneapi before dpl may also introduce issues. clang format does not take care of the "" for local and <> from global, so it may still destroy the regroup hip_runtime should be in hip group. only a few hip tests request it on top which can be handled by clang-format off 9 can be merged into 6? It changes a lot of the format rules in the documentation I would say this pr changes the format style not just remove format_header

yhmtsai avatar Nov 20 '23 08:11 yhmtsai

The main goal of the PR is to remove format_header.sh. The formatting changes are a by product of that.

9 can be merged into 6?

I don't follow, can you elaborate?

the regroup does not take care the header. for example cb_gmres example

Do you mean the wrong comment on the main ginkgo header file?

MarcelKoch avatar Nov 20 '23 08:11 MarcelKoch

clang format does not take care of the "" for local and <> from global, so it may still destroy the regroup

I think it does. Any <> is priority 1-4, the <ginkgo/ headers are priority 5-6, and everything else, which includes "" is priority 7.

MarcelKoch avatar Nov 20 '23 08:11 MarcelKoch

For me, only removing format_header means that we have the equivalent way to handle it. and changing the format guideline is more meaningful to the developer/user. Removing something that drives the guideline is a bit dangerous to me although it may be the same thing in the end.

9 can be merged into 6?

Do we consider all the other library from outside (<...> not "...") is third party? I think it should be the case for ginkgo.

the regroup does not take care the header. for example cb_gmres

It was shown in my first review, but it is not there anymore.

// ginkgo main header
#include <ginkgo/ginkgo.hpp>

#include <....>

->

// ginkgo main header
#include <...>

#include <ginkgo/ginkgo.hpp>

regroup does not move the header with the comments. It should be checked for this pr to ensure that the comments are also moved to correct place.

clang format does not take care of the "" for local and <> from global, so it may still destroy the regroup I think it does. Any <> is priority 1-4, the <ginkgo/ headers are priority 5-6, and everything else, which includes "" is priority 7.

I mean if we put "ginkgo/..." it will be priority 7 because the script does not correct <>/"" usage now.

yhmtsai avatar Nov 21 '23 10:11 yhmtsai

Another argument to remove the script is that it's slow. The clang and reuse pre-commit check each take ~1s when applying to all files, but the format-header check takes more than a minute. The reason is most likely that the script can only be run sequentially, while the other checks can run in parallel.

MarcelKoch avatar Jan 08 '24 08:01 MarcelKoch

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/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_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/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_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_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_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_ell_kernels.dp.cpp
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_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_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/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_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/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
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_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_ell_kernels.cpp
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/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
third_party/SuiteSparse/wrapper32.cpp
third_party/SuiteSparse/wrapper64.cpp

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

ginkgo-bot avatar Feb 14 '24 12:02 ginkgo-bot

I've rebased it after the changes from #1616. It went pretty smoothly. I don't think there are additional changes that were not reviewed before, so I will go a head and merge it when the tests pass.

MarcelKoch avatar Jun 28 '24 07:06 MarcelKoch