gitextract_o5s2z7tn/ ├── .ccls ├── .clang-format ├── .cmake-format.py ├── .codecov.yml ├── .fortls ├── .git-blame-ignore-revs ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.md │ └── workflows/ │ ├── doc-generation.yml │ ├── docker-build-env.yml │ ├── release.yml │ ├── testing-gcc.yml │ ├── testing-linux.yml │ └── testing-macos.yml ├── .gitignore ├── .gitmodules ├── .packit.yaml ├── .pre-commit/ │ ├── check_header.py │ ├── clang-format-fypp.sh │ └── headers/ │ ├── c_cpp.1 │ ├── c_cpp.2 │ ├── c_cpp.3 │ ├── fortran.1 │ ├── fortran.2 │ ├── fypp.1 │ ├── script.1 │ └── script.2 ├── .pre-commit-config.yaml ├── .ruff.toml ├── AUTHORS ├── CMakeLists.txt ├── CONTRIBUTING.md ├── DBCSR.md ├── LICENSE ├── README.md ├── VERSION ├── cmake/ │ ├── CheckCompilerSupport.cmake │ ├── CompilerConfiguration.cmake │ ├── CustomTargets.cmake │ ├── GetGitRevisionDescription.cmake │ ├── GetGitRevisionDescription.cmake.in │ ├── compiler-tests/ │ │ ├── f2008-block_construct.f90 │ │ ├── f2008-contiguous.f90 │ │ ├── f2008-norm2.f90 │ │ └── f95-reshape-order-allocatable.f90 │ └── fypp-sources.cmake ├── docs/ │ ├── CMakeLists.txt │ ├── guide/ │ │ ├── 1-DBCSR/ │ │ │ ├── index.md │ │ │ └── publications.md │ │ ├── 2-user-guide/ │ │ │ ├── 1-installation/ │ │ │ │ ├── 1-cmake-build-recipes.md │ │ │ │ ├── 2-supported-compilers.md │ │ │ │ ├── 3-using-dbcsr-in-a-cmake-project.md │ │ │ │ ├── 4-docker.md │ │ │ │ └── index.md │ │ │ ├── 2-tests/ │ │ │ │ └── index.md │ │ │ ├── 3-examples/ │ │ │ │ └── index.md │ │ │ ├── 4-gpu/ │ │ │ │ └── index.md │ │ │ └── index.md │ │ ├── 3-developer-guide/ │ │ │ ├── 1-tooling/ │ │ │ │ └── index.md │ │ │ ├── 2-documentation/ │ │ │ │ └── index.md │ │ │ ├── 3-programming/ │ │ │ │ ├── 1-overview/ │ │ │ │ │ └── index.md │ │ │ │ ├── 2-accelerator-backend/ │ │ │ │ │ ├── 1-code-structure.md │ │ │ │ │ ├── 2-libsmm_acc/ │ │ │ │ │ │ ├── 1-kernels.md │ │ │ │ │ │ ├── 2-parameters.md │ │ │ │ │ │ ├── 3-tune.md │ │ │ │ │ │ └── index.md │ │ │ │ │ ├── 3-libsmm_ocl/ │ │ │ │ │ │ ├── 1-autotune.md │ │ │ │ │ │ ├── 2-bulktune.md │ │ │ │ │ │ └── index.md │ │ │ │ │ └── index.md │ │ │ │ └── index.md │ │ │ ├── 4-performance/ │ │ │ │ ├── 1-insights.md │ │ │ │ ├── 2-just-in-time-compilation.md │ │ │ │ └── index.md │ │ │ └── index.md │ │ └── index.md │ └── media/ │ └── logo/ │ └── logo.ppt ├── examples/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── dbcsr_example_1.F │ ├── dbcsr_example_2.F │ ├── dbcsr_example_3.F │ ├── dbcsr_example_3.cpp │ ├── dbcsr_tensor_example_1.F │ └── dbcsr_tensor_example_2.cpp ├── src/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── PACKAGE │ ├── acc/ │ │ ├── PACKAGE │ │ ├── README.md │ │ ├── acc.h │ │ ├── acc_bench.c │ │ ├── acc_bench.h │ │ ├── acc_libsmm.h │ │ ├── acc_triplets.sh │ │ ├── cuda/ │ │ │ ├── Makefile │ │ │ ├── PACKAGE │ │ │ ├── acc_cuda.cpp │ │ │ ├── acc_cuda.h │ │ │ ├── dbcsr_cuda_nvtx_cu.cpp │ │ │ └── dbcsr_cuda_profiling.F │ │ ├── cuda_hip/ │ │ │ ├── PACKAGE │ │ │ ├── acc_blas.cpp │ │ │ ├── acc_blas.h │ │ │ ├── acc_dev.cpp │ │ │ ├── acc_error.cpp │ │ │ ├── acc_error.h │ │ │ ├── acc_event.cpp │ │ │ ├── acc_init.cpp │ │ │ ├── acc_mem.cpp │ │ │ ├── acc_stream.cpp │ │ │ ├── acc_utils.cpp │ │ │ ├── acc_utils.h │ │ │ └── calculate_norms.cpp │ │ ├── dbcsr_acc_device.F │ │ ├── dbcsr_acc_devmem.F │ │ ├── dbcsr_acc_event.F │ │ ├── dbcsr_acc_hostmem.F │ │ ├── dbcsr_acc_init.F │ │ ├── dbcsr_acc_stream.F │ │ ├── dbcsr_acc_timings.F │ │ ├── hip/ │ │ │ ├── PACKAGE │ │ │ ├── acc_hip.cpp │ │ │ ├── acc_hip.h │ │ │ └── dbcsr_hip_profiling.F │ │ ├── libsmm_acc/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── PACKAGE │ │ │ ├── README.md │ │ │ ├── generate_kernels.py │ │ │ ├── generate_parameters.py │ │ │ ├── kernels/ │ │ │ │ ├── PACKAGE │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── autotuning_properties.json │ │ │ │ ├── gpu_properties.json │ │ │ │ ├── smm_acc.py │ │ │ │ ├── smm_acc_common.h │ │ │ │ ├── smm_acc_dnt_base.py │ │ │ │ ├── smm_acc_dnt_largeDB1.h │ │ │ │ ├── smm_acc_dnt_largeDB1.py │ │ │ │ ├── smm_acc_dnt_largeDB2.h │ │ │ │ ├── smm_acc_dnt_largeDB2.py │ │ │ │ ├── smm_acc_dnt_medium.h │ │ │ │ ├── smm_acc_dnt_medium.py │ │ │ │ ├── smm_acc_dnt_small.h │ │ │ │ ├── smm_acc_dnt_small.py │ │ │ │ ├── smm_acc_dnt_tiny.h │ │ │ │ ├── smm_acc_dnt_tiny.py │ │ │ │ ├── smm_acc_predict.py │ │ │ │ └── smm_acc_transpose.h │ │ │ ├── libcusmm/ │ │ │ │ ├── .gitignore │ │ │ │ └── PACKAGE │ │ │ ├── libsmm_acc.cpp │ │ │ ├── libsmm_acc.h │ │ │ ├── libsmm_acc_benchmark.cpp │ │ │ ├── libsmm_acc_benchmark.h │ │ │ ├── libsmm_acc_init.cpp │ │ │ ├── libsmm_acc_init.h │ │ │ ├── parameters/ │ │ │ │ ├── parameters_A100.json │ │ │ │ ├── parameters_H100.json │ │ │ │ ├── parameters_K20X.json │ │ │ │ ├── parameters_K40.json │ │ │ │ ├── parameters_K80.json │ │ │ │ ├── parameters_Mi100.json │ │ │ │ ├── parameters_Mi250.json │ │ │ │ ├── parameters_Mi300.json │ │ │ │ ├── parameters_Mi350.json │ │ │ │ ├── parameters_Mi50.json │ │ │ │ ├── parameters_P100.json │ │ │ │ └── parameters_V100.json │ │ │ ├── parameters_utils.h │ │ │ └── tune/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── archive.sh │ │ │ ├── cleanup.sh │ │ │ ├── requirements.txt │ │ │ ├── tune_collect.py │ │ │ ├── tune_merge.py │ │ │ ├── tune_setup.py │ │ │ └── tune_submit.py │ │ └── opencl/ │ │ ├── Makefile │ │ ├── PACKAGE │ │ ├── README.md │ │ ├── acc_getenv.sh │ │ ├── acc_opencl.c │ │ ├── acc_opencl.h │ │ ├── acc_opencl.sh │ │ ├── acc_opencl_event.c │ │ ├── acc_opencl_mem.c │ │ ├── acc_opencl_stream.c │ │ ├── common/ │ │ │ ├── opencl_atomics.h │ │ │ └── opencl_common.h │ │ └── smm/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── PACKAGE │ │ ├── README-autotune.md │ │ ├── README-bulktune.md │ │ ├── README.md │ │ ├── kernels/ │ │ │ ├── multiply.cl │ │ │ └── transpose.cl │ │ ├── opencl_libsmm.c │ │ ├── opencl_libsmm.h │ │ ├── opencl_test.sh │ │ ├── params/ │ │ │ ├── README.md │ │ │ ├── tune_multiply_A100.csv │ │ │ ├── tune_multiply_BMG.csv │ │ │ ├── tune_multiply_GH200.csv │ │ │ ├── tune_multiply_H100.csv │ │ │ ├── tune_multiply_Mi250.csv │ │ │ ├── tune_multiply_P100.csv │ │ │ ├── tune_multiply_PVC.csv │ │ │ └── tune_multiply_V100.csv │ │ ├── requirements.txt │ │ ├── tune_multiply.py │ │ └── tune_multiply.sh │ ├── base/ │ │ ├── PACKAGE │ │ ├── dbcsr_base_hooks.F │ │ ├── dbcsr_base_uses.f90 │ │ ├── dbcsr_kinds.F │ │ ├── dbcsr_machine.F │ │ ├── dbcsr_machine_internal.F │ │ └── dbcsr_machine_posix.f90 │ ├── block/ │ │ ├── PACKAGE │ │ ├── dbcsr_block_access.F │ │ ├── dbcsr_block_operations.F │ │ ├── dbcsr_index_operations.F │ │ └── dbcsr_iterator_operations.F │ ├── cmake/ │ │ └── DBCSRConfig.cmake.in │ ├── core/ │ │ ├── PACKAGE │ │ ├── dbcsr_array_types.F │ │ ├── dbcsr_config.F │ │ ├── dbcsr_dict.F │ │ ├── dbcsr_dict.fypp │ │ ├── dbcsr_error_handling.F │ │ ├── dbcsr_iter_types.F │ │ ├── dbcsr_lib.F │ │ ├── dbcsr_list.F │ │ ├── dbcsr_list.fypp │ │ ├── dbcsr_list_callstackentry.F │ │ ├── dbcsr_list_routinereport.F │ │ ├── dbcsr_list_routinestat.F │ │ ├── dbcsr_list_timerenv.F │ │ ├── dbcsr_log_handling.F │ │ ├── dbcsr_methods.F │ │ ├── dbcsr_print_messages.F │ │ ├── dbcsr_timings.F │ │ ├── dbcsr_timings_base_type.F │ │ ├── dbcsr_timings_report.F │ │ ├── dbcsr_timings_types.F │ │ └── dbcsr_types.F │ ├── data/ │ │ ├── PACKAGE │ │ ├── dbcsr.fypp │ │ ├── dbcsr_data_methods.F │ │ ├── dbcsr_data_methods_low.F │ │ ├── dbcsr_data_operations.F │ │ ├── dbcsr_data_types.F │ │ ├── dbcsr_mem_methods.F │ │ └── dbcsr_ptr_util.F │ ├── dbcsr.h │ ├── dbcsr_api.F │ ├── dbcsr_api_c.F │ ├── mm/ │ │ ├── PACKAGE │ │ ├── dbcsr_acc_operations.F │ │ ├── dbcsr_mm.F │ │ ├── dbcsr_mm_3d.F │ │ ├── dbcsr_mm_accdrv.F │ │ ├── dbcsr_mm_cannon.F │ │ ├── dbcsr_mm_common.F │ │ ├── dbcsr_mm_csr.F │ │ ├── dbcsr_mm_dist_operations.F │ │ ├── dbcsr_mm_hostdrv.F │ │ ├── dbcsr_mm_multrec.F │ │ ├── dbcsr_mm_sched.F │ │ ├── dbcsr_mm_types.F │ │ └── dbcsr_multiply_api.F │ ├── mpi/ │ │ ├── PACKAGE │ │ ├── dbcsr_mp_methods.F │ │ ├── dbcsr_mp_operations.F │ │ ├── dbcsr_mpiwrap.F │ │ └── dbcsr_mpiwrap.fypp │ ├── ops/ │ │ ├── PACKAGE │ │ ├── dbcsr_csr_conversions.F │ │ ├── dbcsr_io.F │ │ ├── dbcsr_operations.F │ │ ├── dbcsr_test_methods.F │ │ ├── dbcsr_tests.F │ │ └── dbcsr_transformations.F │ ├── tas/ │ │ ├── PACKAGE │ │ ├── dbcsr_tas.fypp │ │ ├── dbcsr_tas_base.F │ │ ├── dbcsr_tas_global.F │ │ ├── dbcsr_tas_io.F │ │ ├── dbcsr_tas_mm.F │ │ ├── dbcsr_tas_reshape_ops.F │ │ ├── dbcsr_tas_split.F │ │ ├── dbcsr_tas_test.F │ │ ├── dbcsr_tas_types.F │ │ └── dbcsr_tas_util.F │ ├── tensors/ │ │ ├── PACKAGE │ │ ├── dbcsr_allocate_wrap.F │ │ ├── dbcsr_array_list_methods.F │ │ ├── dbcsr_tensor.F │ │ ├── dbcsr_tensor.fypp │ │ ├── dbcsr_tensor.h │ │ ├── dbcsr_tensor_api.F │ │ ├── dbcsr_tensor_api_c.F │ │ ├── dbcsr_tensor_block.F │ │ ├── dbcsr_tensor_index.F │ │ ├── dbcsr_tensor_io.F │ │ ├── dbcsr_tensor_reshape.F │ │ ├── dbcsr_tensor_split.F │ │ ├── dbcsr_tensor_test.F │ │ └── dbcsr_tensor_types.F │ ├── utils/ │ │ ├── PACKAGE │ │ ├── dbcsr_array_sort.F │ │ ├── dbcsr_array_sort.fypp │ │ ├── dbcsr_blas_operations.F │ │ ├── dbcsr_btree.F │ │ ├── dbcsr_btree.fypp │ │ ├── dbcsr_files.F │ │ ├── dbcsr_hash_table.f90 │ │ ├── dbcsr_hash_table_types.f90 │ │ ├── dbcsr_min_heap.F │ │ ├── dbcsr_string_utilities.F │ │ └── dbcsr_toollib.F │ └── work/ │ ├── PACKAGE │ └── dbcsr_work_operations.F ├── tests/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── dbcsr_acc_test.c │ ├── dbcsr_performance_driver.F │ ├── dbcsr_performance_multiply.F │ ├── dbcsr_tas_unittest.F │ ├── dbcsr_tensor_test.cpp │ ├── dbcsr_tensor_unittest.F │ ├── dbcsr_test.cpp │ ├── dbcsr_test_add.F │ ├── dbcsr_test_csr_conversions.F │ ├── dbcsr_test_multiply.F │ ├── dbcsr_test_scale_by_vector.F │ ├── dbcsr_unittest1.F │ ├── dbcsr_unittest2.F │ ├── dbcsr_unittest3.F │ ├── dbcsr_unittest4.F │ ├── generate_libsmm_acc_timer_multiply.py │ ├── generate_libsmm_acc_unittest_multiply.py │ ├── input.perf │ ├── inputs/ │ │ ├── test_H2O.perf │ │ ├── test_rect1_dense.perf │ │ ├── test_rect1_sparse.perf │ │ ├── test_rect2_dense.perf │ │ ├── test_rect2_sparse.perf │ │ ├── test_singleblock.perf │ │ ├── test_square_dense.perf │ │ ├── test_square_sparse.perf │ │ ├── test_square_sparse_bigblocks.perf │ │ └── test_square_sparse_rma.perf │ ├── libsmm_acc_timer_multiply.cpp.template │ ├── libsmm_acc_unittest_multiply.cpp.template │ └── libsmm_acc_unittest_transpose.cpp └── tools/ ├── build_libsmm/ │ ├── COPYRIGHT │ ├── README │ ├── config/ │ │ ├── cray.cce │ │ ├── cray.gnu │ │ ├── cray.intel.libsci │ │ ├── cray.intel.mkl │ │ ├── cray_mic.intel │ │ ├── linux.gnu │ │ ├── linux.intel │ │ ├── local_libxsmm.gnu │ │ ├── mic.intel │ │ ├── none.wlm │ │ ├── pbs.wlm │ │ └── slurm.wlm │ ├── config.in │ ├── generate │ ├── generate.bash │ ├── lib_gen.f90 │ ├── make.gen │ ├── multrec_gen.f90 │ ├── mults.f90 │ ├── small_gen.f90 │ └── tiny_gen.f90 ├── docker/ │ ├── Dockerfile.build-env-latest-gcc │ ├── Dockerfile.build-env-rocm │ ├── Dockerfile.build-env-ubuntu │ ├── Dockerfile.build-env-ubuntu-cuda │ ├── Makefile │ ├── README.md │ └── lsan.supp └── fedora/ ├── dbcsr.rpmlintrc └── dbcsr.spec