├── .azuredevops └── rocm-ci.yml ├── .clang-format ├── .gitattributes ├── .githooks ├── install └── pre-commit ├── .github ├── CODEOWNERS ├── dependabot.yml └── workflows │ └── docs.yaml ├── .gitignore ├── .jenkins ├── common.groovy ├── precheckin.groovy ├── staticanalysis.groovy └── staticlibrary.groovy ├── .readthedocs.yaml ├── CHANGELOG.md ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── cmake └── Macros │ └── CheckF8.cmake ├── docker └── ROCmUbuntuDev ├── docs ├── .gitignore ├── api-reference │ └── api-reference-guide.rst ├── conceptual │ └── programmers-guide.rst ├── conf.py ├── doxygen │ └── Doxyfile ├── index.rst ├── install │ └── installation.rst ├── license.rst ├── sphinx │ ├── _toc.yml.in │ ├── requirements.in │ └── requirements.txt └── what-is-rocwmma.rst ├── library └── include │ └── rocwmma │ ├── internal │ ├── accessors.hpp │ ├── accessors_impl.hpp │ ├── api_fwd.hpp │ ├── blend.hpp │ ├── blend_impl.hpp │ ├── broadcast.hpp │ ├── config.hpp │ ├── constants.hpp │ ├── convert.hpp │ ├── cross_lane_ops.hpp │ ├── dpp.hpp │ ├── dpp_impl.hpp │ ├── float8.hpp │ ├── float_conversion.hpp │ ├── flow_control.hpp │ ├── fragment_traits.hpp │ ├── fragment_traits_impl.hpp │ ├── io_bearer.hpp │ ├── io_bearer_base.hpp │ ├── io_bearer_base_impl.hpp │ ├── io_bearer_impl.hpp │ ├── io_bounds_ctrl.hpp │ ├── io_config.hpp │ ├── io_layout.hpp │ ├── io_scheduler.hpp │ ├── io_scheduler_impl.hpp │ ├── io_shape.hpp │ ├── io_tile.hpp │ ├── io_traits.hpp │ ├── layout │ │ ├── data_layout_traits_impl.hpp │ │ ├── layout.hpp │ │ ├── layout_traits.hpp │ │ ├── layout_traits_impl.hpp │ │ ├── matrix_coop_layout.hpp │ │ ├── matrix_coop_layout_impl.hpp │ │ ├── matrix_coop_layout_traits_impl.hpp │ │ ├── matrix_layout_base.hpp │ │ ├── matrix_layout_base_impl.hpp │ │ ├── matrix_layout_impl.hpp │ │ ├── matrix_layout_traits_impl.hpp │ │ ├── matrix_ortho_layout.hpp │ │ ├── register_layout_traits_impl.hpp │ │ ├── register_layout_transforms.hpp │ │ ├── register_layout_transforms_impl.hpp │ │ └── transforms │ │ │ ├── transforms.hpp │ │ │ ├── transforms_impl.hpp │ │ │ ├── transforms_int_impl.hpp │ │ │ ├── transforms_int_wmma_impl.hpp │ │ │ └── transforms_wmma_impl.hpp │ ├── mapping_util.hpp │ ├── mapping_util_impl.hpp │ ├── mfma.hpp │ ├── mfma_impl.hpp │ ├── mma.hpp │ ├── mma_config.hpp │ ├── mma_impl.hpp │ ├── mma_selector.hpp │ ├── mma_traits.hpp │ ├── mma_traits_impl.hpp │ ├── opaque_load.hpp │ ├── opaque_store.hpp │ ├── pack_util.hpp │ ├── pack_util_impl.hpp │ ├── permute.hpp │ ├── permute_impl.hpp │ ├── rocwmma-version.hpp.in │ ├── rocwmma_xfloat32.hpp │ ├── swizzle.hpp │ ├── swizzle_impl.hpp │ ├── transforms.hpp │ ├── transforms_impl.hpp │ ├── tuple.hpp │ ├── type_traits.hpp │ ├── types.hpp │ ├── types_ext.hpp │ ├── types_impl.hpp │ ├── utility │ │ ├── algorithm.hpp │ │ ├── algorithm_impl.hpp │ │ ├── apply.hpp │ │ ├── apply_impl.hpp │ │ ├── forward.hpp │ │ ├── forward_impl.hpp │ │ ├── functional.hpp │ │ ├── functional_impl.hpp │ │ ├── get.hpp │ │ ├── get_impl.hpp │ │ ├── math.hpp │ │ ├── math_impl.hpp │ │ ├── move.hpp │ │ ├── move_impl.hpp │ │ ├── numeric_limits.hpp │ │ ├── numeric_limits_impl.hpp │ │ ├── sequence.hpp │ │ ├── sequence_impl.hpp │ │ ├── static_for.hpp │ │ ├── static_for_impl.hpp │ │ ├── type_traits.hpp │ │ ├── type_traits_impl.hpp │ │ ├── vector.hpp │ │ └── vector_impl.hpp │ ├── utils.hpp │ ├── vector.hpp │ ├── vector_impl.hpp │ ├── vector_iterator.hpp │ ├── vector_util.hpp │ ├── vector_util_impl.hpp │ ├── wmma.hpp │ └── wmma_impl.hpp │ ├── rocwmma.hpp │ ├── rocwmma_impl.hpp │ ├── rocwmma_transforms.hpp │ └── rocwmma_transforms_impl.hpp ├── rtest.py ├── rtest.xml ├── samples ├── CMakeLists.txt ├── common.hpp ├── hipRTC_gemm.cpp ├── perf_dgemm.cpp ├── perf_hgemm.cpp ├── perf_sgemm.cpp ├── simple_dgemm.cpp ├── simple_dgemv.cpp ├── simple_dlrm.cpp ├── simple_hgemm.cpp ├── simple_sgemm.cpp └── simple_sgemv.cpp ├── scripts └── performance │ └── BenchmarkGemm.sh └── test ├── CMakeLists.txt ├── bin └── GenBenchmarkPlots.py ├── common.hpp ├── device └── common.hpp ├── dlrm ├── CMakeLists.txt ├── common.hpp ├── data │ ├── input_fp16 │ ├── input_fp32 │ ├── input_grad_fp16 │ ├── input_grad_fp32 │ ├── output_fp16 │ ├── output_fp32 │ ├── output_input_grad_fp16 │ ├── output_input_grad_fp32 │ ├── output_mlp_input_grad_fp16 │ └── output_mlp_input_grad_fp32 ├── detail │ ├── dlrm_dot.hpp │ └── dlrm_dot_lds.hpp ├── device │ ├── common.hpp │ ├── dlrm_dot_bwd.hpp │ ├── dlrm_dot_bwd_lds.hpp │ ├── dlrm_dot_fwd.hpp │ └── dlrm_dot_fwd_lds.hpp ├── dlrm_kernel_base.cpp ├── dlrm_kernel_base.hpp ├── dlrm_kernel_base_impl.hpp ├── dlrm_resource.hpp ├── dlrm_resource_impl.hpp ├── lds_mapping_util.hpp └── test │ ├── dlrm_dot_lds_test.cpp │ ├── dlrm_dot_test.cpp │ ├── dlrm_dot_test.hpp │ ├── dlrm_test_params.hpp │ └── emulation │ ├── regressiontest-dlrm_dot_lds_test.cpp │ ├── regressiontest-dlrm_dot_test.cpp │ ├── regressiontest-emulation_dlrm_test_params.hpp │ ├── smoketest-dlrm_dot_lds_test.cpp │ ├── smoketest-dlrm_dot_test.cpp │ └── smoketest-emulation_dlrm_test_params.hpp ├── gemm ├── CMakeLists.txt ├── gemm_PGR0_LB0_MP0_MB_NC │ ├── CMakeLists.txt │ ├── detail │ │ ├── kernel_generator_impl.hpp │ │ └── kernel_impl.hpp │ ├── device │ │ ├── kernel_device_func.hpp │ │ └── kernel_predicates.hpp │ └── test │ │ ├── 16x16_nn_1x1.cpp │ │ ├── 16x16_nn_1x2.cpp │ │ ├── 16x16_nn_1x4.cpp │ │ ├── 16x16_nn_1x8.cpp │ │ ├── 16x16_nn_2x1.cpp │ │ ├── 16x16_nn_2x2.cpp │ │ ├── 16x16_nn_2x4.cpp │ │ ├── 16x16_nn_2x8.cpp │ │ ├── 16x16_nn_4x1.cpp │ │ ├── 16x16_nn_4x2.cpp │ │ ├── 16x16_nn_4x4.cpp │ │ ├── 16x16_nn_4x8.cpp │ │ ├── 16x16_nn_8x1.cpp │ │ ├── 16x16_nn_8x2.cpp │ │ ├── 16x16_nn_8x4.cpp │ │ ├── 16x16_nn_8x8.cpp │ │ ├── 16x16_nt_1x1.cpp │ │ ├── 16x16_nt_1x2.cpp │ │ ├── 16x16_nt_1x4.cpp │ │ ├── 16x16_nt_1x8.cpp │ │ ├── 16x16_nt_2x1.cpp │ │ ├── 16x16_nt_2x2.cpp │ │ ├── 16x16_nt_2x4.cpp │ │ ├── 16x16_nt_2x8.cpp │ │ ├── 16x16_nt_4x1.cpp │ │ ├── 16x16_nt_4x2.cpp │ │ ├── 16x16_nt_4x4.cpp │ │ ├── 16x16_nt_4x8.cpp │ │ ├── 16x16_nt_8x1.cpp │ │ ├── 16x16_nt_8x2.cpp │ │ ├── 16x16_nt_8x4.cpp │ │ ├── 16x16_nt_8x8.cpp │ │ ├── 16x16_tn_1x1.cpp │ │ ├── 16x16_tn_1x2.cpp │ │ ├── 16x16_tn_1x4.cpp │ │ ├── 16x16_tn_1x8.cpp │ │ ├── 16x16_tn_2x1.cpp │ │ ├── 16x16_tn_2x2.cpp │ │ ├── 16x16_tn_2x4.cpp │ │ ├── 16x16_tn_2x8.cpp │ │ ├── 16x16_tn_4x1.cpp │ │ ├── 16x16_tn_4x2.cpp │ │ ├── 16x16_tn_4x4.cpp │ │ ├── 16x16_tn_4x8.cpp │ │ ├── 16x16_tn_8x1.cpp │ │ ├── 16x16_tn_8x2.cpp │ │ ├── 16x16_tn_8x4.cpp │ │ ├── 16x16_tn_8x8.cpp │ │ ├── 16x16_tt_1x1.cpp │ │ ├── 16x16_tt_1x2.cpp │ │ ├── 16x16_tt_1x4.cpp │ │ ├── 16x16_tt_1x8.cpp │ │ ├── 16x16_tt_2x1.cpp │ │ ├── 16x16_tt_2x2.cpp │ │ ├── 16x16_tt_2x4.cpp │ │ ├── 16x16_tt_2x8.cpp │ │ ├── 16x16_tt_4x1.cpp │ │ ├── 16x16_tt_4x2.cpp │ │ ├── 16x16_tt_4x4.cpp │ │ ├── 16x16_tt_4x8.cpp │ │ ├── 16x16_tt_8x1.cpp │ │ ├── 16x16_tt_8x2.cpp │ │ ├── 16x16_tt_8x4.cpp │ │ ├── 16x16_tt_8x8.cpp │ │ ├── 32x32_nn_1x1.cpp │ │ ├── 32x32_nn_1x2.cpp │ │ ├── 32x32_nn_1x4.cpp │ │ ├── 32x32_nn_1x8.cpp │ │ ├── 32x32_nn_2x1.cpp │ │ ├── 32x32_nn_2x2.cpp │ │ ├── 32x32_nn_2x4.cpp │ │ ├── 32x32_nn_2x8.cpp │ │ ├── 32x32_nn_4x1.cpp │ │ ├── 32x32_nn_4x2.cpp │ │ ├── 32x32_nn_4x4.cpp │ │ ├── 32x32_nn_8x1.cpp │ │ ├── 32x32_nn_8x2.cpp │ │ ├── 32x32_nt_1x1.cpp │ │ ├── 32x32_nt_1x2.cpp │ │ ├── 32x32_nt_1x4.cpp │ │ ├── 32x32_nt_1x8.cpp │ │ ├── 32x32_nt_2x1.cpp │ │ ├── 32x32_nt_2x2.cpp │ │ ├── 32x32_nt_2x4.cpp │ │ ├── 32x32_nt_2x8.cpp │ │ ├── 32x32_nt_4x1.cpp │ │ ├── 32x32_nt_4x2.cpp │ │ ├── 32x32_nt_4x4.cpp │ │ ├── 32x32_nt_8x1.cpp │ │ ├── 32x32_nt_8x2.cpp │ │ ├── 32x32_tn_1x1.cpp │ │ ├── 32x32_tn_1x2.cpp │ │ ├── 32x32_tn_1x4.cpp │ │ ├── 32x32_tn_1x8.cpp │ │ ├── 32x32_tn_2x1.cpp │ │ ├── 32x32_tn_2x2.cpp │ │ ├── 32x32_tn_2x4.cpp │ │ ├── 32x32_tn_2x8.cpp │ │ ├── 32x32_tn_4x1.cpp │ │ ├── 32x32_tn_4x2.cpp │ │ ├── 32x32_tn_4x4.cpp │ │ ├── 32x32_tn_8x1.cpp │ │ ├── 32x32_tn_8x2.cpp │ │ ├── 32x32_tt_1x1.cpp │ │ ├── 32x32_tt_1x2.cpp │ │ ├── 32x32_tt_1x4.cpp │ │ ├── 32x32_tt_1x8.cpp │ │ ├── 32x32_tt_2x1.cpp │ │ ├── 32x32_tt_2x2.cpp │ │ ├── 32x32_tt_2x4.cpp │ │ ├── 32x32_tt_2x8.cpp │ │ ├── 32x32_tt_4x1.cpp │ │ ├── 32x32_tt_4x2.cpp │ │ ├── 32x32_tt_4x4.cpp │ │ ├── 32x32_tt_8x1.cpp │ │ ├── 32x32_tt_8x2.cpp │ │ ├── ad_hoc_test.cpp │ │ ├── common_test_params.hpp │ │ ├── emulation │ │ ├── common_test_emulation_params.hpp │ │ ├── regressiontest-16x16_4x2.cpp │ │ ├── regressiontest-32x32_4x2.cpp │ │ └── smoketest-16x16_4x2.cpp │ │ └── test_includes.hpp ├── gemm_PGR0_LB0_MP0_SB_NC │ ├── CMakeLists.txt │ ├── detail │ │ ├── kernel_generator_impl.hpp │ │ └── kernel_impl.hpp │ ├── device │ │ ├── kernel_device_func.hpp │ │ └── kernel_predicates.hpp │ └── test │ │ ├── 16x16_nn.cpp │ │ ├── 16x16_nt.cpp │ │ ├── 16x16_tn.cpp │ │ ├── 16x16_tt.cpp │ │ ├── 32x32_nn.cpp │ │ ├── 32x32_nt.cpp │ │ ├── 32x32_tn.cpp │ │ ├── 32x32_tt.cpp │ │ ├── ad_hoc_test.cpp │ │ ├── common_test_params.hpp │ │ ├── emulation │ │ ├── common_test_emulation_params.hpp │ │ ├── regressiontest-16x16.cpp │ │ ├── regressiontest-32x32.cpp │ │ └── smoketest-16x16.cpp │ │ └── test_includes.hpp ├── gemm_PGR1_LB2_MP0_MB_CP │ ├── CMakeLists.txt │ ├── detail │ │ ├── kernel_generator_impl.hpp │ │ └── kernel_impl.hpp │ ├── device │ │ ├── kernel_device_func.hpp │ │ └── kernel_predicates.hpp │ └── test │ │ ├── ad_hoc_test.cpp │ │ ├── block │ │ ├── 16x16_nn_1x1.cpp │ │ ├── 16x16_nn_1x2.cpp │ │ ├── 16x16_nn_1x4.cpp │ │ ├── 16x16_nn_1x8.cpp │ │ ├── 16x16_nn_2x1.cpp │ │ ├── 16x16_nn_2x2.cpp │ │ ├── 16x16_nn_2x4.cpp │ │ ├── 16x16_nn_2x8.cpp │ │ ├── 16x16_nn_4x1.cpp │ │ ├── 16x16_nn_4x2.cpp │ │ ├── 16x16_nn_4x4.cpp │ │ ├── 16x16_nn_4x8.cpp │ │ ├── 16x16_nn_8x1.cpp │ │ ├── 16x16_nn_8x2.cpp │ │ ├── 16x16_nn_8x4.cpp │ │ ├── 16x16_nn_8x8.cpp │ │ ├── 16x16_nt_1x1.cpp │ │ ├── 16x16_nt_1x2.cpp │ │ ├── 16x16_nt_1x4.cpp │ │ ├── 16x16_nt_1x8.cpp │ │ ├── 16x16_nt_2x1.cpp │ │ ├── 16x16_nt_2x2.cpp │ │ ├── 16x16_nt_2x4.cpp │ │ ├── 16x16_nt_2x8.cpp │ │ ├── 16x16_nt_4x1.cpp │ │ ├── 16x16_nt_4x2.cpp │ │ ├── 16x16_nt_4x4.cpp │ │ ├── 16x16_nt_4x8.cpp │ │ ├── 16x16_nt_8x1.cpp │ │ ├── 16x16_nt_8x2.cpp │ │ ├── 16x16_nt_8x4.cpp │ │ ├── 16x16_nt_8x8.cpp │ │ ├── 16x16_tn_1x1.cpp │ │ ├── 16x16_tn_1x2.cpp │ │ ├── 16x16_tn_1x4.cpp │ │ ├── 16x16_tn_1x8.cpp │ │ ├── 16x16_tn_2x1.cpp │ │ ├── 16x16_tn_2x2.cpp │ │ ├── 16x16_tn_2x4.cpp │ │ ├── 16x16_tn_2x8.cpp │ │ ├── 16x16_tn_4x1.cpp │ │ ├── 16x16_tn_4x2.cpp │ │ ├── 16x16_tn_4x4.cpp │ │ ├── 16x16_tn_4x8.cpp │ │ ├── 16x16_tn_8x1.cpp │ │ ├── 16x16_tn_8x2.cpp │ │ ├── 16x16_tn_8x4.cpp │ │ ├── 16x16_tn_8x8.cpp │ │ ├── 16x16_tt_1x1.cpp │ │ ├── 16x16_tt_1x2.cpp │ │ ├── 16x16_tt_1x4.cpp │ │ ├── 16x16_tt_1x8.cpp │ │ ├── 16x16_tt_2x1.cpp │ │ ├── 16x16_tt_2x2.cpp │ │ ├── 16x16_tt_2x4.cpp │ │ ├── 16x16_tt_2x8.cpp │ │ ├── 16x16_tt_4x1.cpp │ │ ├── 16x16_tt_4x2.cpp │ │ ├── 16x16_tt_4x4.cpp │ │ ├── 16x16_tt_4x8.cpp │ │ ├── 16x16_tt_8x1.cpp │ │ ├── 16x16_tt_8x2.cpp │ │ ├── 16x16_tt_8x4.cpp │ │ ├── 16x16_tt_8x8.cpp │ │ ├── 32x32_nn_1x1.cpp │ │ ├── 32x32_nn_1x2.cpp │ │ ├── 32x32_nn_1x4.cpp │ │ ├── 32x32_nn_1x8.cpp │ │ ├── 32x32_nn_2x1.cpp │ │ ├── 32x32_nn_2x2.cpp │ │ ├── 32x32_nn_2x4.cpp │ │ ├── 32x32_nn_2x8.cpp │ │ ├── 32x32_nn_4x1.cpp │ │ ├── 32x32_nn_4x2.cpp │ │ ├── 32x32_nn_4x4.cpp │ │ ├── 32x32_nn_8x1.cpp │ │ ├── 32x32_nn_8x2.cpp │ │ ├── 32x32_nt_1x1.cpp │ │ ├── 32x32_nt_1x2.cpp │ │ ├── 32x32_nt_1x4.cpp │ │ ├── 32x32_nt_1x8.cpp │ │ ├── 32x32_nt_2x1.cpp │ │ ├── 32x32_nt_2x2.cpp │ │ ├── 32x32_nt_2x4.cpp │ │ ├── 32x32_nt_2x8.cpp │ │ ├── 32x32_nt_4x1.cpp │ │ ├── 32x32_nt_4x2.cpp │ │ ├── 32x32_nt_4x4.cpp │ │ ├── 32x32_nt_8x1.cpp │ │ ├── 32x32_nt_8x2.cpp │ │ ├── 32x32_tn_1x1.cpp │ │ ├── 32x32_tn_1x2.cpp │ │ ├── 32x32_tn_1x4.cpp │ │ ├── 32x32_tn_1x8.cpp │ │ ├── 32x32_tn_2x1.cpp │ │ ├── 32x32_tn_2x2.cpp │ │ ├── 32x32_tn_2x4.cpp │ │ ├── 32x32_tn_2x8.cpp │ │ ├── 32x32_tn_4x1.cpp │ │ ├── 32x32_tn_4x2.cpp │ │ ├── 32x32_tn_4x4.cpp │ │ ├── 32x32_tn_8x1.cpp │ │ ├── 32x32_tn_8x2.cpp │ │ ├── 32x32_tt_1x1.cpp │ │ ├── 32x32_tt_1x2.cpp │ │ ├── 32x32_tt_1x4.cpp │ │ ├── 32x32_tt_1x8.cpp │ │ ├── 32x32_tt_2x1.cpp │ │ ├── 32x32_tt_2x2.cpp │ │ ├── 32x32_tt_2x4.cpp │ │ ├── 32x32_tt_2x8.cpp │ │ ├── 32x32_tt_4x1.cpp │ │ ├── 32x32_tt_4x2.cpp │ │ ├── 32x32_tt_4x4.cpp │ │ ├── 32x32_tt_8x1.cpp │ │ ├── 32x32_tt_8x2.cpp │ │ ├── CMakeLists.txt │ │ └── emulation │ │ │ ├── common_test_emulation_params.hpp │ │ │ ├── regressiontest-16x16_nn_2x2.cpp │ │ │ ├── regressiontest-16x16_nt_2x2.cpp │ │ │ ├── regressiontest-16x16_tn_2x2.cpp │ │ │ ├── regressiontest-16x16_tt_2x2.cpp │ │ │ ├── smoketest_2x2.cpp │ │ │ ├── smoketest_2x2_f8.cpp │ │ │ └── smoketest_2x2_f8_fnuz.cpp │ │ ├── common_test_params.hpp │ │ ├── test_includes.hpp │ │ ├── wave │ │ ├── 16x16_nn_1x1_f64.cpp │ │ ├── 16x16_nn_1x1_medium.cpp │ │ ├── 16x16_nn_1x2.cpp │ │ ├── 16x16_nn_1x4.cpp │ │ ├── 16x16_nn_1x8.cpp │ │ ├── 16x16_nn_2x1.cpp │ │ ├── 16x16_nn_2x2.cpp │ │ ├── 16x16_nn_2x4.cpp │ │ ├── 16x16_nn_2x8.cpp │ │ ├── 16x16_nn_4x1.cpp │ │ ├── 16x16_nn_4x2.cpp │ │ ├── 16x16_nn_4x4.cpp │ │ ├── 16x16_nn_4x8.cpp │ │ ├── 16x16_nn_8x1.cpp │ │ ├── 16x16_nn_8x2.cpp │ │ ├── 16x16_nn_8x4.cpp │ │ ├── 16x16_nn_8x8.cpp │ │ ├── 16x16_nt_1x1_f64.cpp │ │ ├── 16x16_nt_1x1_medium.cpp │ │ ├── 16x16_nt_1x2.cpp │ │ ├── 16x16_nt_1x4.cpp │ │ ├── 16x16_nt_1x8.cpp │ │ ├── 16x16_nt_2x1.cpp │ │ ├── 16x16_nt_2x2.cpp │ │ ├── 16x16_nt_2x4.cpp │ │ ├── 16x16_nt_2x8.cpp │ │ ├── 16x16_nt_4x1.cpp │ │ ├── 16x16_nt_4x2.cpp │ │ ├── 16x16_nt_4x4.cpp │ │ ├── 16x16_nt_4x8.cpp │ │ ├── 16x16_nt_8x1.cpp │ │ ├── 16x16_nt_8x2.cpp │ │ ├── 16x16_nt_8x4.cpp │ │ ├── 16x16_nt_8x8.cpp │ │ ├── 16x16_tn_1x1_f64.cpp │ │ ├── 16x16_tn_1x1_medium.cpp │ │ ├── 16x16_tn_1x2.cpp │ │ ├── 16x16_tn_1x4.cpp │ │ ├── 16x16_tn_1x8.cpp │ │ ├── 16x16_tn_2x1.cpp │ │ ├── 16x16_tn_2x2.cpp │ │ ├── 16x16_tn_2x4.cpp │ │ ├── 16x16_tn_2x8.cpp │ │ ├── 16x16_tn_4x1.cpp │ │ ├── 16x16_tn_4x2.cpp │ │ ├── 16x16_tn_4x4.cpp │ │ ├── 16x16_tn_4x8.cpp │ │ ├── 16x16_tn_8x1.cpp │ │ ├── 16x16_tn_8x2.cpp │ │ ├── 16x16_tn_8x4.cpp │ │ ├── 16x16_tn_8x8.cpp │ │ ├── 16x16_tt_1x1_f64.cpp │ │ ├── 16x16_tt_1x1_medium.cpp │ │ ├── 16x16_tt_1x2.cpp │ │ ├── 16x16_tt_1x4.cpp │ │ ├── 16x16_tt_1x8.cpp │ │ ├── 16x16_tt_2x1.cpp │ │ ├── 16x16_tt_2x2.cpp │ │ ├── 16x16_tt_2x4.cpp │ │ ├── 16x16_tt_2x8.cpp │ │ ├── 16x16_tt_4x1.cpp │ │ ├── 16x16_tt_4x2.cpp │ │ ├── 16x16_tt_4x4.cpp │ │ ├── 16x16_tt_4x8.cpp │ │ ├── 16x16_tt_8x1.cpp │ │ ├── 16x16_tt_8x2.cpp │ │ ├── 16x16_tt_8x4.cpp │ │ ├── 16x16_tt_8x8.cpp │ │ ├── 32x32_nn_1x1.cpp │ │ ├── 32x32_nn_1x2.cpp │ │ ├── 32x32_nn_1x4.cpp │ │ ├── 32x32_nn_1x8.cpp │ │ ├── 32x32_nn_2x1.cpp │ │ ├── 32x32_nn_2x2.cpp │ │ ├── 32x32_nn_2x4.cpp │ │ ├── 32x32_nn_2x8.cpp │ │ ├── 32x32_nn_4x1.cpp │ │ ├── 32x32_nn_4x2.cpp │ │ ├── 32x32_nn_4x4.cpp │ │ ├── 32x32_nn_8x1.cpp │ │ ├── 32x32_nn_8x2.cpp │ │ ├── 32x32_nt_1x1.cpp │ │ ├── 32x32_nt_1x2.cpp │ │ ├── 32x32_nt_1x4.cpp │ │ ├── 32x32_nt_1x8.cpp │ │ ├── 32x32_nt_2x1.cpp │ │ ├── 32x32_nt_2x2.cpp │ │ ├── 32x32_nt_2x4.cpp │ │ ├── 32x32_nt_2x8.cpp │ │ ├── 32x32_nt_4x1.cpp │ │ ├── 32x32_nt_4x2.cpp │ │ ├── 32x32_nt_4x4.cpp │ │ ├── 32x32_nt_8x1.cpp │ │ ├── 32x32_nt_8x2.cpp │ │ ├── 32x32_tn_1x1.cpp │ │ ├── 32x32_tn_1x2.cpp │ │ ├── 32x32_tn_1x4.cpp │ │ ├── 32x32_tn_1x8.cpp │ │ ├── 32x32_tn_2x1.cpp │ │ ├── 32x32_tn_2x2.cpp │ │ ├── 32x32_tn_2x4.cpp │ │ ├── 32x32_tn_2x8.cpp │ │ ├── 32x32_tn_4x1.cpp │ │ ├── 32x32_tn_4x2.cpp │ │ ├── 32x32_tn_4x4.cpp │ │ ├── 32x32_tn_8x1.cpp │ │ ├── 32x32_tn_8x2.cpp │ │ ├── 32x32_tt_1x1.cpp │ │ ├── 32x32_tt_1x2.cpp │ │ ├── 32x32_tt_1x4.cpp │ │ ├── 32x32_tt_1x8.cpp │ │ ├── 32x32_tt_2x1.cpp │ │ ├── 32x32_tt_2x2.cpp │ │ ├── 32x32_tt_2x4.cpp │ │ ├── 32x32_tt_2x8.cpp │ │ ├── 32x32_tt_4x1.cpp │ │ ├── 32x32_tt_4x2.cpp │ │ ├── 32x32_tt_4x4.cpp │ │ ├── 32x32_tt_8x1.cpp │ │ ├── 32x32_tt_8x2.cpp │ │ └── CMakeLists.txt │ │ └── workgroup │ │ ├── 16x16_nn_1x1_f64.cpp │ │ ├── 16x16_nn_1x1_medium.cpp │ │ ├── 16x16_nn_1x2.cpp │ │ ├── 16x16_nn_1x4.cpp │ │ ├── 16x16_nn_1x8.cpp │ │ ├── 16x16_nn_2x1.cpp │ │ ├── 16x16_nn_2x2.cpp │ │ ├── 16x16_nn_2x4.cpp │ │ ├── 16x16_nn_2x8.cpp │ │ ├── 16x16_nn_4x1.cpp │ │ ├── 16x16_nn_4x2.cpp │ │ ├── 16x16_nn_4x4.cpp │ │ ├── 16x16_nn_4x8.cpp │ │ ├── 16x16_nn_8x1.cpp │ │ ├── 16x16_nn_8x2.cpp │ │ ├── 16x16_nn_8x4.cpp │ │ ├── 16x16_nn_8x8.cpp │ │ ├── 16x16_nt_1x1_f64.cpp │ │ ├── 16x16_nt_1x1_medium.cpp │ │ ├── 16x16_nt_1x2.cpp │ │ ├── 16x16_nt_1x4.cpp │ │ ├── 16x16_nt_1x8.cpp │ │ ├── 16x16_nt_2x1.cpp │ │ ├── 16x16_nt_2x2.cpp │ │ ├── 16x16_nt_2x4.cpp │ │ ├── 16x16_nt_2x8.cpp │ │ ├── 16x16_nt_4x1.cpp │ │ ├── 16x16_nt_4x2.cpp │ │ ├── 16x16_nt_4x4.cpp │ │ ├── 16x16_nt_4x8.cpp │ │ ├── 16x16_nt_8x1.cpp │ │ ├── 16x16_nt_8x2.cpp │ │ ├── 16x16_nt_8x4.cpp │ │ ├── 16x16_nt_8x8.cpp │ │ ├── 16x16_tn_1x1_f64.cpp │ │ ├── 16x16_tn_1x1_medium.cpp │ │ ├── 16x16_tn_1x2.cpp │ │ ├── 16x16_tn_1x4.cpp │ │ ├── 16x16_tn_1x8.cpp │ │ ├── 16x16_tn_2x1.cpp │ │ ├── 16x16_tn_2x2.cpp │ │ ├── 16x16_tn_2x4.cpp │ │ ├── 16x16_tn_2x8.cpp │ │ ├── 16x16_tn_4x1.cpp │ │ ├── 16x16_tn_4x2.cpp │ │ ├── 16x16_tn_4x4.cpp │ │ ├── 16x16_tn_4x8.cpp │ │ ├── 16x16_tn_8x1.cpp │ │ ├── 16x16_tn_8x2.cpp │ │ ├── 16x16_tn_8x4.cpp │ │ ├── 16x16_tn_8x8.cpp │ │ ├── 16x16_tt_1x1_f64.cpp │ │ ├── 16x16_tt_1x1_medium.cpp │ │ ├── 16x16_tt_1x2.cpp │ │ ├── 16x16_tt_1x4.cpp │ │ ├── 16x16_tt_1x8.cpp │ │ ├── 16x16_tt_2x1.cpp │ │ ├── 16x16_tt_2x2.cpp │ │ ├── 16x16_tt_2x4.cpp │ │ ├── 16x16_tt_2x8.cpp │ │ ├── 16x16_tt_4x1.cpp │ │ ├── 16x16_tt_4x2.cpp │ │ ├── 16x16_tt_4x4.cpp │ │ ├── 16x16_tt_4x8.cpp │ │ ├── 16x16_tt_8x1.cpp │ │ ├── 16x16_tt_8x2.cpp │ │ ├── 16x16_tt_8x4.cpp │ │ ├── 16x16_tt_8x8.cpp │ │ ├── 32x32_nn_1x1.cpp │ │ ├── 32x32_nn_1x2.cpp │ │ ├── 32x32_nn_1x4.cpp │ │ ├── 32x32_nn_1x8.cpp │ │ ├── 32x32_nn_2x1.cpp │ │ ├── 32x32_nn_2x2.cpp │ │ ├── 32x32_nn_2x4.cpp │ │ ├── 32x32_nn_2x8.cpp │ │ ├── 32x32_nn_4x1.cpp │ │ ├── 32x32_nn_4x2.cpp │ │ ├── 32x32_nn_4x4.cpp │ │ ├── 32x32_nn_8x1.cpp │ │ ├── 32x32_nn_8x2.cpp │ │ ├── 32x32_nt_1x1.cpp │ │ ├── 32x32_nt_1x2.cpp │ │ ├── 32x32_nt_1x4.cpp │ │ ├── 32x32_nt_1x8.cpp │ │ ├── 32x32_nt_2x1.cpp │ │ ├── 32x32_nt_2x2.cpp │ │ ├── 32x32_nt_2x4.cpp │ │ ├── 32x32_nt_2x8.cpp │ │ ├── 32x32_nt_4x1.cpp │ │ ├── 32x32_nt_4x2.cpp │ │ ├── 32x32_nt_4x4.cpp │ │ ├── 32x32_nt_8x1.cpp │ │ ├── 32x32_nt_8x2.cpp │ │ ├── 32x32_tn_1x1.cpp │ │ ├── 32x32_tn_1x2.cpp │ │ ├── 32x32_tn_1x4.cpp │ │ ├── 32x32_tn_1x8.cpp │ │ ├── 32x32_tn_2x1.cpp │ │ ├── 32x32_tn_2x2.cpp │ │ ├── 32x32_tn_2x4.cpp │ │ ├── 32x32_tn_2x8.cpp │ │ ├── 32x32_tn_4x1.cpp │ │ ├── 32x32_tn_4x2.cpp │ │ ├── 32x32_tn_4x4.cpp │ │ ├── 32x32_tn_8x1.cpp │ │ ├── 32x32_tn_8x2.cpp │ │ ├── 32x32_tt_1x1.cpp │ │ ├── 32x32_tt_1x2.cpp │ │ ├── 32x32_tt_1x4.cpp │ │ ├── 32x32_tt_1x8.cpp │ │ ├── 32x32_tt_2x1.cpp │ │ ├── 32x32_tt_2x2.cpp │ │ ├── 32x32_tt_2x4.cpp │ │ ├── 32x32_tt_2x8.cpp │ │ ├── 32x32_tt_4x1.cpp │ │ ├── 32x32_tt_4x2.cpp │ │ ├── 32x32_tt_4x4.cpp │ │ ├── 32x32_tt_8x1.cpp │ │ ├── 32x32_tt_8x2.cpp │ │ └── CMakeLists.txt ├── gemm_common_test_params.hpp ├── gemm_config.hpp ├── gemm_driver.hpp ├── gemm_driver_impl.hpp ├── gemm_global_mapping.hpp ├── gemm_global_mapping_impl.hpp ├── gemm_kernel_base.cpp ├── gemm_kernel_base.hpp ├── gemm_kernel_base_dispatch_impl.hpp ├── gemm_kernel_base_impl.hpp ├── gemm_local_mapping.hpp ├── gemm_local_mapping_impl.hpp ├── gemm_predicates_base.hpp ├── gemm_resource.cpp ├── gemm_resource.hpp ├── gemm_resource_impl.hpp ├── gemm_test.hpp ├── gemm_test_macros.hpp └── gemm_test_traits.hpp ├── helper_macros.hpp ├── hip_device.cpp ├── hip_device.hpp ├── hip_resource.hpp ├── hip_resource_impl.hpp ├── kernel_generator.hpp ├── performance.hpp ├── reference.hpp ├── reference_impl.hpp ├── rocblas_reference.hpp ├── rocwmma_gtest_main.cpp ├── rocwmma_options.hpp ├── rocwmma_ostream.hpp ├── singleton.hpp ├── test_config.hpp └── unit ├── CMakeLists.txt ├── contamination_test ├── CMakeLists.txt ├── detail │ ├── load_contamination.hpp │ └── store_contamination.hpp ├── device │ ├── load_contamination.hpp │ └── store_contamination.hpp └── test │ ├── contamination_test_params.hpp │ ├── emulation │ ├── contamination_test_emulation_params.hpp │ ├── regressiontest-load_contamination_a_16.cpp │ ├── regressiontest-load_contamination_b_16.cpp │ ├── regressiontest-store_contamination_a_16.cpp │ ├── regressiontest-store_contamination_b_16.cpp │ ├── smoketest-load_contamination_a_16.cpp │ ├── smoketest-load_contamination_b_16.cpp │ ├── smoketest-store_contamination_a_16.cpp │ └── smoketest-store_contamination_b_16.cpp │ ├── load_contamination_a_128_bf16.cpp │ ├── load_contamination_a_128_bf8.cpp │ ├── load_contamination_a_128_bf8_fnuz.cpp │ ├── load_contamination_a_128_f16.cpp │ ├── load_contamination_a_128_f32.cpp │ ├── load_contamination_a_128_f8.cpp │ ├── load_contamination_a_128_f8_fnuz.cpp │ ├── load_contamination_a_128_hf16.cpp │ ├── load_contamination_a_128_i32.cpp │ ├── load_contamination_a_128_i8.cpp │ ├── load_contamination_a_128_u32.cpp │ ├── load_contamination_a_128_u8.cpp │ ├── load_contamination_a_128_xf32.cpp │ ├── load_contamination_a_16.cpp │ ├── load_contamination_a_256_bf16.cpp │ ├── load_contamination_a_256_bf8.cpp │ ├── load_contamination_a_256_bf8_fnuz.cpp │ ├── load_contamination_a_256_f16.cpp │ ├── load_contamination_a_256_f32.cpp │ ├── load_contamination_a_256_f8.cpp │ ├── load_contamination_a_256_f8_fnuz.cpp │ ├── load_contamination_a_256_hf16.cpp │ ├── load_contamination_a_256_i32.cpp │ ├── load_contamination_a_256_i8.cpp │ ├── load_contamination_a_256_u32.cpp │ ├── load_contamination_a_256_u8.cpp │ ├── load_contamination_a_256_xf32.cpp │ ├── load_contamination_a_32_bf16.cpp │ ├── load_contamination_a_32_bf8.cpp │ ├── load_contamination_a_32_bf8_fnuz.cpp │ ├── load_contamination_a_32_f16.cpp │ ├── load_contamination_a_32_f32.cpp │ ├── load_contamination_a_32_f8.cpp │ ├── load_contamination_a_32_f8_fnuz.cpp │ ├── load_contamination_a_32_hf16.cpp │ ├── load_contamination_a_32_i32.cpp │ ├── load_contamination_a_32_i8.cpp │ ├── load_contamination_a_32_u32.cpp │ ├── load_contamination_a_32_u8.cpp │ ├── load_contamination_a_32_xf32.cpp │ ├── load_contamination_a_64_bf16.cpp │ ├── load_contamination_a_64_bf8.cpp │ ├── load_contamination_a_64_bf8_fnuz.cpp │ ├── load_contamination_a_64_f16.cpp │ ├── load_contamination_a_64_f32.cpp │ ├── load_contamination_a_64_f8.cpp │ ├── load_contamination_a_64_f8_fnuz.cpp │ ├── load_contamination_a_64_hf16.cpp │ ├── load_contamination_a_64_i32.cpp │ ├── load_contamination_a_64_i8.cpp │ ├── load_contamination_a_64_u32.cpp │ ├── load_contamination_a_64_u8.cpp │ ├── load_contamination_a_64_xf32.cpp │ ├── load_contamination_acc_128_bf16.cpp │ ├── load_contamination_acc_128_bf8.cpp │ ├── load_contamination_acc_128_bf8_fnuz.cpp │ ├── load_contamination_acc_128_f16.cpp │ ├── load_contamination_acc_128_f32.cpp │ ├── load_contamination_acc_128_f8.cpp │ ├── load_contamination_acc_128_f8_fnuz.cpp │ ├── load_contamination_acc_128_hf16.cpp │ ├── load_contamination_acc_128_i32.cpp │ ├── load_contamination_acc_128_i8.cpp │ ├── load_contamination_acc_128_u32.cpp │ ├── load_contamination_acc_128_u8.cpp │ ├── load_contamination_acc_128_xf32.cpp │ ├── load_contamination_acc_16.cpp │ ├── load_contamination_acc_256_bf16.cpp │ ├── load_contamination_acc_256_bf8.cpp │ ├── load_contamination_acc_256_bf8_fnuz.cpp │ ├── load_contamination_acc_256_f16.cpp │ ├── load_contamination_acc_256_f32.cpp │ ├── load_contamination_acc_256_f8.cpp │ ├── load_contamination_acc_256_f8_fnuz.cpp │ ├── load_contamination_acc_256_hf16.cpp │ ├── load_contamination_acc_256_i32.cpp │ ├── load_contamination_acc_256_i8.cpp │ ├── load_contamination_acc_256_u32.cpp │ ├── load_contamination_acc_256_u8.cpp │ ├── load_contamination_acc_256_xf32.cpp │ ├── load_contamination_acc_32_bf16.cpp │ ├── load_contamination_acc_32_bf8.cpp │ ├── load_contamination_acc_32_bf8_fnuz.cpp │ ├── load_contamination_acc_32_f16.cpp │ ├── load_contamination_acc_32_f32.cpp │ ├── load_contamination_acc_32_f8.cpp │ ├── load_contamination_acc_32_f8_fnuz.cpp │ ├── load_contamination_acc_32_hf16.cpp │ ├── load_contamination_acc_32_i32.cpp │ ├── load_contamination_acc_32_i8.cpp │ ├── load_contamination_acc_32_u32.cpp │ ├── load_contamination_acc_32_u8.cpp │ ├── load_contamination_acc_32_xf32.cpp │ ├── load_contamination_acc_64_bf16.cpp │ ├── load_contamination_acc_64_bf8.cpp │ ├── load_contamination_acc_64_bf8_fnuz.cpp │ ├── load_contamination_acc_64_f16.cpp │ ├── load_contamination_acc_64_f32.cpp │ ├── load_contamination_acc_64_f8.cpp │ ├── load_contamination_acc_64_f8_fnuz.cpp │ ├── load_contamination_acc_64_hf16.cpp │ ├── load_contamination_acc_64_i32.cpp │ ├── load_contamination_acc_64_i8.cpp │ ├── load_contamination_acc_64_u32.cpp │ ├── load_contamination_acc_64_u8.cpp │ ├── load_contamination_acc_64_xf32.cpp │ ├── load_contamination_b_128_bf16.cpp │ ├── load_contamination_b_128_bf8.cpp │ ├── load_contamination_b_128_bf8_fnuz.cpp │ ├── load_contamination_b_128_f16.cpp │ ├── load_contamination_b_128_f32.cpp │ ├── load_contamination_b_128_f8.cpp │ ├── load_contamination_b_128_f8_fnuz.cpp │ ├── load_contamination_b_128_hf16.cpp │ ├── load_contamination_b_128_i32.cpp │ ├── load_contamination_b_128_i8.cpp │ ├── load_contamination_b_128_u32.cpp │ ├── load_contamination_b_128_u8.cpp │ ├── load_contamination_b_128_xf32.cpp │ ├── load_contamination_b_16.cpp │ ├── load_contamination_b_256_bf16.cpp │ ├── load_contamination_b_256_bf8.cpp │ ├── load_contamination_b_256_bf8_fnuz.cpp │ ├── load_contamination_b_256_f16.cpp │ ├── load_contamination_b_256_f32.cpp │ ├── load_contamination_b_256_f8.cpp │ ├── load_contamination_b_256_f8_fnuz.cpp │ ├── load_contamination_b_256_hf16.cpp │ ├── load_contamination_b_256_i32.cpp │ ├── load_contamination_b_256_i8.cpp │ ├── load_contamination_b_256_u32.cpp │ ├── load_contamination_b_256_u8.cpp │ ├── load_contamination_b_256_xf32.cpp │ ├── load_contamination_b_32_bf16.cpp │ ├── load_contamination_b_32_bf8.cpp │ ├── load_contamination_b_32_bf8_fnuz.cpp │ ├── load_contamination_b_32_f16.cpp │ ├── load_contamination_b_32_f32.cpp │ ├── load_contamination_b_32_f8.cpp │ ├── load_contamination_b_32_f8_fnuz.cpp │ ├── load_contamination_b_32_hf16.cpp │ ├── load_contamination_b_32_i32.cpp │ ├── load_contamination_b_32_i8.cpp │ ├── load_contamination_b_32_u32.cpp │ ├── load_contamination_b_32_u8.cpp │ ├── load_contamination_b_32_xf32.cpp │ ├── load_contamination_b_64_bf16.cpp │ ├── load_contamination_b_64_bf8.cpp │ ├── load_contamination_b_64_bf8_fnuz.cpp │ ├── load_contamination_b_64_f16.cpp │ ├── load_contamination_b_64_f32.cpp │ ├── load_contamination_b_64_f8.cpp │ ├── load_contamination_b_64_f8_fnuz.cpp │ ├── load_contamination_b_64_hf16.cpp │ ├── load_contamination_b_64_i32.cpp │ ├── load_contamination_b_64_i8.cpp │ ├── load_contamination_b_64_u32.cpp │ ├── load_contamination_b_64_u8.cpp │ ├── load_contamination_b_64_xf32.cpp │ ├── store_contamination_a_128_bf16.cpp │ ├── store_contamination_a_128_bf8.cpp │ ├── store_contamination_a_128_bf8_fnuz.cpp │ ├── store_contamination_a_128_f16.cpp │ ├── store_contamination_a_128_f32.cpp │ ├── store_contamination_a_128_f8.cpp │ ├── store_contamination_a_128_f8_fnuz.cpp │ ├── store_contamination_a_128_hf16.cpp │ ├── store_contamination_a_128_i32.cpp │ ├── store_contamination_a_128_i8.cpp │ ├── store_contamination_a_128_u32.cpp │ ├── store_contamination_a_128_u8.cpp │ ├── store_contamination_a_128_xf32.cpp │ ├── store_contamination_a_16.cpp │ ├── store_contamination_a_256_bf16.cpp │ ├── store_contamination_a_256_bf8.cpp │ ├── store_contamination_a_256_bf8_fnuz.cpp │ ├── store_contamination_a_256_f16.cpp │ ├── store_contamination_a_256_f32.cpp │ ├── store_contamination_a_256_f8.cpp │ ├── store_contamination_a_256_f8_fnuz.cpp │ ├── store_contamination_a_256_hf16.cpp │ ├── store_contamination_a_256_i32.cpp │ ├── store_contamination_a_256_i8.cpp │ ├── store_contamination_a_256_u32.cpp │ ├── store_contamination_a_256_u8.cpp │ ├── store_contamination_a_256_xf32.cpp │ ├── store_contamination_a_32_bf16.cpp │ ├── store_contamination_a_32_bf8.cpp │ ├── store_contamination_a_32_bf8_fnuz.cpp │ ├── store_contamination_a_32_f16.cpp │ ├── store_contamination_a_32_f32.cpp │ ├── store_contamination_a_32_f8.cpp │ ├── store_contamination_a_32_f8_fnuz.cpp │ ├── store_contamination_a_32_hf16.cpp │ ├── store_contamination_a_32_i32.cpp │ ├── store_contamination_a_32_i8.cpp │ ├── store_contamination_a_32_u32.cpp │ ├── store_contamination_a_32_u8.cpp │ ├── store_contamination_a_32_xf32.cpp │ ├── store_contamination_a_64_bf16.cpp │ ├── store_contamination_a_64_bf8.cpp │ ├── store_contamination_a_64_bf8_fnuz.cpp │ ├── store_contamination_a_64_f16.cpp │ ├── store_contamination_a_64_f32.cpp │ ├── store_contamination_a_64_f8.cpp │ ├── store_contamination_a_64_f8_fnuz.cpp │ ├── store_contamination_a_64_hf16.cpp │ ├── store_contamination_a_64_i32.cpp │ ├── store_contamination_a_64_i8.cpp │ ├── store_contamination_a_64_u32.cpp │ ├── store_contamination_a_64_u8.cpp │ ├── store_contamination_a_64_xf32.cpp │ ├── store_contamination_acc_128_bf16.cpp │ ├── store_contamination_acc_128_bf8.cpp │ ├── store_contamination_acc_128_bf8_fnuz.cpp │ ├── store_contamination_acc_128_f16.cpp │ ├── store_contamination_acc_128_f32.cpp │ ├── store_contamination_acc_128_f8.cpp │ ├── store_contamination_acc_128_f8_fnuz.cpp │ ├── store_contamination_acc_128_hf16.cpp │ ├── store_contamination_acc_128_i32.cpp │ ├── store_contamination_acc_128_i8.cpp │ ├── store_contamination_acc_128_u32.cpp │ ├── store_contamination_acc_128_u8.cpp │ ├── store_contamination_acc_128_xf32.cpp │ ├── store_contamination_acc_16.cpp │ ├── store_contamination_acc_256_bf16.cpp │ ├── store_contamination_acc_256_bf8.cpp │ ├── store_contamination_acc_256_bf8_fnuz.cpp │ ├── store_contamination_acc_256_f16.cpp │ ├── store_contamination_acc_256_f32.cpp │ ├── store_contamination_acc_256_f8.cpp │ ├── store_contamination_acc_256_f8_fnuz.cpp │ ├── store_contamination_acc_256_hf16.cpp │ ├── store_contamination_acc_256_i32.cpp │ ├── store_contamination_acc_256_i8.cpp │ ├── store_contamination_acc_256_u32.cpp │ ├── store_contamination_acc_256_u8.cpp │ ├── store_contamination_acc_256_xf32.cpp │ ├── store_contamination_acc_32_bf16.cpp │ ├── store_contamination_acc_32_bf8.cpp │ ├── store_contamination_acc_32_bf8_fnuz.cpp │ ├── store_contamination_acc_32_f16.cpp │ ├── store_contamination_acc_32_f32.cpp │ ├── store_contamination_acc_32_f8.cpp │ ├── store_contamination_acc_32_f8_fnuz.cpp │ ├── store_contamination_acc_32_hf16.cpp │ ├── store_contamination_acc_32_i32.cpp │ ├── store_contamination_acc_32_i8.cpp │ ├── store_contamination_acc_32_u32.cpp │ ├── store_contamination_acc_32_u8.cpp │ ├── store_contamination_acc_32_xf32.cpp │ ├── store_contamination_acc_64_bf16.cpp │ ├── store_contamination_acc_64_bf8.cpp │ ├── store_contamination_acc_64_bf8_fnuz.cpp │ ├── store_contamination_acc_64_f16.cpp │ ├── store_contamination_acc_64_f32.cpp │ ├── store_contamination_acc_64_f8.cpp │ ├── store_contamination_acc_64_f8_fnuz.cpp │ ├── store_contamination_acc_64_hf16.cpp │ ├── store_contamination_acc_64_i32.cpp │ ├── store_contamination_acc_64_i8.cpp │ ├── store_contamination_acc_64_u32.cpp │ ├── store_contamination_acc_64_u8.cpp │ ├── store_contamination_acc_64_xf32.cpp │ ├── store_contamination_b_128_bf16.cpp │ ├── store_contamination_b_128_bf8.cpp │ ├── store_contamination_b_128_bf8_fnuz.cpp │ ├── store_contamination_b_128_f16.cpp │ ├── store_contamination_b_128_f32.cpp │ ├── store_contamination_b_128_f8.cpp │ ├── store_contamination_b_128_f8_fnuz.cpp │ ├── store_contamination_b_128_hf16.cpp │ ├── store_contamination_b_128_i32.cpp │ ├── store_contamination_b_128_i8.cpp │ ├── store_contamination_b_128_u32.cpp │ ├── store_contamination_b_128_u8.cpp │ ├── store_contamination_b_128_xf32.cpp │ ├── store_contamination_b_16.cpp │ ├── store_contamination_b_256_bf16.cpp │ ├── store_contamination_b_256_bf8.cpp │ ├── store_contamination_b_256_bf8_fnuz.cpp │ ├── store_contamination_b_256_f16.cpp │ ├── store_contamination_b_256_f32.cpp │ ├── store_contamination_b_256_f8.cpp │ ├── store_contamination_b_256_f8_fnuz.cpp │ ├── store_contamination_b_256_hf16.cpp │ ├── store_contamination_b_256_i32.cpp │ ├── store_contamination_b_256_i8.cpp │ ├── store_contamination_b_256_u32.cpp │ ├── store_contamination_b_256_u8.cpp │ ├── store_contamination_b_256_xf32.cpp │ ├── store_contamination_b_32_bf16.cpp │ ├── store_contamination_b_32_bf8.cpp │ ├── store_contamination_b_32_bf8_fnuz.cpp │ ├── store_contamination_b_32_f16.cpp │ ├── store_contamination_b_32_f32.cpp │ ├── store_contamination_b_32_f8.cpp │ ├── store_contamination_b_32_f8_fnuz.cpp │ ├── store_contamination_b_32_hf16.cpp │ ├── store_contamination_b_32_i32.cpp │ ├── store_contamination_b_32_i8.cpp │ ├── store_contamination_b_32_u32.cpp │ ├── store_contamination_b_32_u8.cpp │ ├── store_contamination_b_32_xf32.cpp │ ├── store_contamination_b_64_bf16.cpp │ ├── store_contamination_b_64_bf8.cpp │ ├── store_contamination_b_64_bf8_fnuz.cpp │ ├── store_contamination_b_64_f16.cpp │ ├── store_contamination_b_64_f32.cpp │ ├── store_contamination_b_64_f8.cpp │ ├── store_contamination_b_64_f8_fnuz.cpp │ ├── store_contamination_b_64_hf16.cpp │ ├── store_contamination_b_64_i32.cpp │ ├── store_contamination_b_64_i8.cpp │ ├── store_contamination_b_64_u32.cpp │ ├── store_contamination_b_64_u8.cpp │ └── store_contamination_b_64_xf32.cpp ├── cross_lane_ops_test ├── CMakeLists.txt ├── detail │ └── cross_lane_ops.hpp ├── device │ ├── blend_ops.hpp │ ├── cross_lane_ops.hpp │ ├── cross_lane_ops_util.hpp │ ├── dpp_ops.hpp │ ├── permute_ops.hpp │ └── swizzle_ops.hpp └── test │ ├── blend_extract_byte_even.cpp │ ├── blend_extract_byte_odd.cpp │ ├── blend_extract_word_even.cpp │ ├── blend_extract_word_odd.cpp │ ├── blend_unpack_byte_hi.cpp │ ├── blend_unpack_byte_hi_lo.cpp │ ├── blend_unpack_byte_lo.cpp │ ├── blend_unpack_word_hi.cpp │ ├── blend_unpack_word_lo.cpp │ ├── blend_zip.cpp │ ├── blend_zip_byte.cpp │ ├── blend_zip_word.cpp │ ├── cross_lane_ops_test_params.hpp │ ├── dpp_bcast_16.cpp │ ├── dpp_bcast_2.cpp │ ├── dpp_bcast_4.cpp │ ├── dpp_reverse_16.cpp │ ├── dpp_reverse_2.cpp │ ├── dpp_reverse_4.cpp │ ├── dpp_reverse_8.cpp │ ├── dpp_rotate_l2.cpp │ ├── dpp_rotate_l4.cpp │ ├── dpp_rotate_r16.cpp │ ├── dpp_rotate_r2.cpp │ ├── dpp_rotate_r4.cpp │ ├── dpp_rotate_wave_l1.cpp │ ├── dpp_rotate_wave_r1.cpp │ ├── dpp_shift_l16.cpp │ ├── dpp_shift_r16.cpp │ ├── dpp_shift_wave_l1.cpp │ ├── dpp_shift_wave_r1.cpp │ ├── dpp_shuffle_2.cpp │ ├── dpp_shuffle_4.cpp │ ├── dpp_swap_2.cpp │ ├── dpp_wfall_bcast_16.cpp │ ├── dpp_wfall_bcast_32.cpp │ ├── emulation │ ├── regressiontest-blend_extract_byte_even.cpp │ ├── regressiontest-blend_extract_word_even.cpp │ ├── regressiontest-blend_unpack_byte_hi.cpp │ ├── regressiontest-blend_unpack_byte_lo.cpp │ ├── regressiontest-blend_unpack_word_hi.cpp │ ├── regressiontest-blend_zip.cpp │ ├── regressiontest-dpp_bcast_2.cpp │ ├── regressiontest-dpp_reverse_2.cpp │ ├── regressiontest-dpp_rotate_l2.cpp │ ├── regressiontest-dpp_rotate_wave_l1.cpp │ ├── regressiontest-dpp_shift_l16.cpp │ ├── regressiontest-dpp_shift_wave_l1.cpp │ ├── regressiontest-dpp_shuffle_2.cpp │ ├── regressiontest-dpp_wfall_bcast_16.cpp │ ├── regressiontest-permute_block_bcast_2.cpp │ ├── regressiontest-permute_gather_scatter.cpp │ ├── regressiontest-permute_rotate.cpp │ ├── regressiontest-swizzle_bcast_2.cpp │ ├── regressiontest-swizzle_reverse_2.cpp │ ├── regressiontest-swizzle_rotate_l2.cpp │ ├── regressiontest-swizzle_shuffle_2.cpp │ ├── regressiontest-swizzle_swap_2.cpp │ ├── smoketest-blend_extract_byte_even.cpp │ ├── smoketest-blend_zip.cpp │ ├── smoketest-dpp_bcast_2.cpp │ ├── smoketest-permute_gather_scatter.cpp │ └── smoketest-swizzle_reverse_4.cpp │ ├── permute_block_bcast_16.cpp │ ├── permute_block_bcast_2.cpp │ ├── permute_block_bcast_32.cpp │ ├── permute_block_bcast_4.cpp │ ├── permute_block_bcast_8.cpp │ ├── permute_gather_scatter.cpp │ ├── permute_rotate.cpp │ ├── swizzle_bcast_16.cpp │ ├── swizzle_bcast_2.cpp │ ├── swizzle_bcast_32.cpp │ ├── swizzle_bcast_4.cpp │ ├── swizzle_bcast_8.cpp │ ├── swizzle_reverse_16.cpp │ ├── swizzle_reverse_2.cpp │ ├── swizzle_reverse_32.cpp │ ├── swizzle_reverse_4.cpp │ ├── swizzle_reverse_8.cpp │ ├── swizzle_rotate_l16.cpp │ ├── swizzle_rotate_l2.cpp │ ├── swizzle_rotate_l32.cpp │ ├── swizzle_rotate_l4.cpp │ ├── swizzle_rotate_l8.cpp │ ├── swizzle_rotate_r16.cpp │ ├── swizzle_rotate_r2.cpp │ ├── swizzle_rotate_r32.cpp │ ├── swizzle_rotate_r4.cpp │ ├── swizzle_rotate_r8.cpp │ ├── swizzle_shuffle_2.cpp │ ├── swizzle_shuffle_4.cpp │ ├── swizzle_swap_16.cpp │ ├── swizzle_swap_2.cpp │ ├── swizzle_swap_4.cpp │ └── swizzle_swap_8.cpp ├── fill_fragment_test ├── CMakeLists.txt ├── detail │ └── fill_fragment.hpp ├── device │ └── fill_fragment.hpp └── test │ ├── emulation │ ├── fill_fragment_test_emulation_params.hpp │ ├── regressiontest-fill_fragment_a_128.cpp │ ├── regressiontest-fill_fragment_a_16.cpp │ ├── regressiontest-fill_fragment_a_256.cpp │ ├── regressiontest-fill_fragment_a_32.cpp │ ├── regressiontest-fill_fragment_a_64.cpp │ ├── regressiontest-fill_fragment_b_128.cpp │ ├── regressiontest-fill_fragment_b_16.cpp │ ├── regressiontest-fill_fragment_b_256.cpp │ ├── regressiontest-fill_fragment_b_32.cpp │ ├── regressiontest-fill_fragment_b_64.cpp │ ├── smoketest-fill_fragment_a_16.cpp │ └── smoketest-fill_fragment_b_32.cpp │ ├── fill_fragment_a_128.cpp │ ├── fill_fragment_a_16.cpp │ ├── fill_fragment_a_256.cpp │ ├── fill_fragment_a_32.cpp │ ├── fill_fragment_a_64.cpp │ ├── fill_fragment_acc_128.cpp │ ├── fill_fragment_acc_16.cpp │ ├── fill_fragment_acc_256.cpp │ ├── fill_fragment_acc_32.cpp │ ├── fill_fragment_acc_64.cpp │ ├── fill_fragment_b_128.cpp │ ├── fill_fragment_b_16.cpp │ ├── fill_fragment_b_256.cpp │ ├── fill_fragment_b_32.cpp │ ├── fill_fragment_b_64.cpp │ └── fill_fragment_test_params.hpp ├── io_shape_test ├── CMakeLists.txt ├── detail │ └── io_shape.hpp └── test │ ├── emulation │ ├── regressiontest-io_shape_16.cpp │ ├── regressiontest-io_shape_32.cpp │ ├── smoketest-io_shape_16.cpp │ └── smoketest-io_shape_32.cpp │ ├── io_shape_128.cpp │ ├── io_shape_16.cpp │ ├── io_shape_256.cpp │ ├── io_shape_32.cpp │ ├── io_shape_64.cpp │ └── io_shape_test_params.hpp ├── io_traits_test ├── CMakeLists.txt ├── detail │ └── io_traits.hpp ├── device │ └── io_traits.hpp └── test │ ├── emulation │ ├── regressiontest-io_traits_16.cpp │ ├── regressiontest-io_traits_32.cpp │ ├── smoketest-io_traits_16.cpp │ └── smoketest-io_traits_32.cpp │ ├── io_traits_128.cpp │ ├── io_traits_16.cpp │ ├── io_traits_256.cpp │ ├── io_traits_32.cpp │ ├── io_traits_64.cpp │ └── io_traits_test_params.hpp ├── layout_test ├── CMakeLists.txt ├── detail │ ├── col_layout.hpp │ ├── colnt_layout.hpp │ ├── row_layout.hpp │ └── rownt_layout.hpp ├── device │ ├── col_layout.hpp │ ├── colnt_layout.hpp │ ├── row_layout.hpp │ └── rownt_layout.hpp └── test │ ├── col_layout_128.cpp │ ├── col_layout_16.cpp │ ├── col_layout_256.cpp │ ├── col_layout_32.cpp │ ├── col_layout_64.cpp │ ├── colnt_layout_128.cpp │ ├── colnt_layout_16.cpp │ ├── colnt_layout_256.cpp │ ├── colnt_layout_32.cpp │ ├── colnt_layout_64.cpp │ ├── emulation │ ├── layout_test_emulation_params.hpp │ ├── regressiontest-col_layout_16.cpp │ ├── regressiontest-col_layout_32.cpp │ ├── regressiontest-colnt_layout_16.cpp │ ├── regressiontest-colnt_layout_32.cpp │ ├── regressiontest-row_layout_16.cpp │ ├── regressiontest-row_layout_32.cpp │ ├── regressiontest-rownt_layout_16.cpp │ ├── regressiontest-rownt_layout_32.cpp │ ├── smoketest-col_layout_16.cpp │ ├── smoketest-colnt_layout_16.cpp │ ├── smoketest-row_layout_16.cpp │ └── smoketest-rownt_layout_16.cpp │ ├── layout_test_params.hpp │ ├── row_layout_128.cpp │ ├── row_layout_16.cpp │ ├── row_layout_256.cpp │ ├── row_layout_32.cpp │ ├── row_layout_64.cpp │ ├── rownt_layout_128.cpp │ ├── rownt_layout_16.cpp │ ├── rownt_layout_256.cpp │ ├── rownt_layout_32.cpp │ └── rownt_layout_64.cpp ├── layout_traits_test ├── CMakeLists.txt ├── detail │ ├── layout_traits.hpp │ └── layout_traits_int.hpp ├── device │ ├── layout_traits.hpp │ └── layout_traits_int.hpp └── test │ ├── common_includes.hpp │ ├── emulation │ ├── extendedtest_layout_traits.cpp │ ├── extendedtest_layout_traits_int_mmadim_16_splitk_1.cpp │ ├── extendedtest_layout_traits_int_mmadim_16_splitk_2.cpp │ ├── extendedtest_layout_traits_int_mmadim_16_splitk_4.cpp │ ├── extendedtest_layout_traits_int_mmadim_32_splitk_1.cpp │ ├── extendedtest_layout_traits_int_mmadim_32_splitk_2.cpp │ ├── extendedtest_layout_traits_int_mmadim_32_splitk_4.cpp │ ├── regressiontest_layout_traits.cpp │ ├── regressiontest_layout_traits_int_mmadim_16_splitk_1.cpp │ ├── regressiontest_layout_traits_int_mmadim_16_splitk_2.cpp │ ├── regressiontest_layout_traits_int_mmadim_16_splitk_4.cpp │ ├── regressiontest_layout_traits_int_mmadim_32_splitk_1.cpp │ ├── regressiontest_layout_traits_int_mmadim_32_splitk_2.cpp │ ├── regressiontest_layout_traits_int_mmadim_32_splitk_4.cpp │ ├── smoketest_layout_traits.cpp │ └── smoketest_layout_traits_int.cpp │ ├── layout_traits_128_f16.cpp │ ├── layout_traits_128_f32.cpp │ ├── layout_traits_128_f64.cpp │ ├── layout_traits_128_i8.cpp │ ├── layout_traits_16_f16.cpp │ ├── layout_traits_16_f32.cpp │ ├── layout_traits_16_f64.cpp │ ├── layout_traits_16_i8.cpp │ ├── layout_traits_256_f16.cpp │ ├── layout_traits_256_f32.cpp │ ├── layout_traits_256_f64.cpp │ ├── layout_traits_256_i8.cpp │ ├── layout_traits_32_f16.cpp │ ├── layout_traits_32_f32.cpp │ ├── layout_traits_32_f64.cpp │ ├── layout_traits_32_i8.cpp │ ├── layout_traits_64_f16.cpp │ ├── layout_traits_64_f32.cpp │ ├── layout_traits_64_f64.cpp │ ├── layout_traits_64_i8.cpp │ ├── layout_traits_int_128_mmadim_16_splitk_1.cpp │ ├── layout_traits_int_128_mmadim_16_splitk_2.cpp │ ├── layout_traits_int_128_mmadim_16_splitk_4.cpp │ ├── layout_traits_int_128_mmadim_32_splitk_1.cpp │ ├── layout_traits_int_128_mmadim_32_splitk_2.cpp │ ├── layout_traits_int_128_mmadim_32_splitk_4.cpp │ ├── layout_traits_int_128_mmadim_64_splitk_1.cpp │ ├── layout_traits_int_128_mmadim_64_splitk_2.cpp │ ├── layout_traits_int_128_mmadim_64_splitk_4.cpp │ ├── layout_traits_int_16_mmadim_16_splitk_1.cpp │ ├── layout_traits_int_16_mmadim_16_splitk_2.cpp │ ├── layout_traits_int_16_mmadim_16_splitk_4.cpp │ ├── layout_traits_int_256_mmadim_16_splitk_1.cpp │ ├── layout_traits_int_256_mmadim_16_splitk_2.cpp │ ├── layout_traits_int_256_mmadim_16_splitk_4.cpp │ ├── layout_traits_int_256_mmadim_32_splitk_1.cpp │ ├── layout_traits_int_256_mmadim_32_splitk_2.cpp │ ├── layout_traits_int_256_mmadim_32_splitk_4.cpp │ ├── layout_traits_int_256_mmadim_64_splitk_1.cpp │ ├── layout_traits_int_256_mmadim_64_splitk_2.cpp │ ├── layout_traits_int_256_mmadim_64_splitk_4.cpp │ ├── layout_traits_int_32_mmadim_16_splitk_1.cpp │ ├── layout_traits_int_32_mmadim_16_splitk_2.cpp │ ├── layout_traits_int_32_mmadim_16_splitk_4.cpp │ ├── layout_traits_int_32_mmadim_32_splitk_1.cpp │ ├── layout_traits_int_32_mmadim_32_splitk_2.cpp │ ├── layout_traits_int_32_mmadim_32_splitk_4.cpp │ ├── layout_traits_int_64_mmadim_16_splitk_1.cpp │ ├── layout_traits_int_64_mmadim_16_splitk_2.cpp │ ├── layout_traits_int_64_mmadim_16_splitk_4.cpp │ ├── layout_traits_int_64_mmadim_32_splitk_1.cpp │ ├── layout_traits_int_64_mmadim_32_splitk_2.cpp │ ├── layout_traits_int_64_mmadim_32_splitk_4.cpp │ ├── layout_traits_int_64_mmadim_64_splitk_1.cpp │ ├── layout_traits_int_64_mmadim_64_splitk_2.cpp │ └── layout_traits_int_64_mmadim_64_splitk_4.cpp ├── load_store_matrix_coop_sync_test ├── CMakeLists.txt ├── detail │ └── load_store_matrix_coop_sync.hpp ├── device │ └── load_store_matrix_coop_sync.hpp └── test │ ├── emulation │ ├── regressiontest-load_store_matrix_coop_sync_a_16.cpp │ ├── regressiontest-load_store_matrix_coop_sync_a_32.cpp │ ├── regressiontest-load_store_matrix_coop_sync_b_16.cpp │ ├── regressiontest-load_store_matrix_coop_sync_b_32.cpp │ ├── smoketest-load_store_matrix_coop_sync_a_16.cpp │ └── smoketest-load_store_matrix_coop_sync_b_16.cpp │ ├── load_store_matrix_coop_sync_a_128.cpp │ ├── load_store_matrix_coop_sync_a_16.cpp │ ├── load_store_matrix_coop_sync_a_256.cpp │ ├── load_store_matrix_coop_sync_a_32.cpp │ ├── load_store_matrix_coop_sync_a_64.cpp │ ├── load_store_matrix_coop_sync_b_128.cpp │ ├── load_store_matrix_coop_sync_b_16.cpp │ ├── load_store_matrix_coop_sync_b_256.cpp │ ├── load_store_matrix_coop_sync_b_32.cpp │ ├── load_store_matrix_coop_sync_b_64.cpp │ └── load_store_matrix_coop_sync_test_params.hpp ├── load_store_matrix_sync_test ├── CMakeLists.txt ├── detail │ └── load_store_matrix_sync.hpp ├── device │ └── load_store_matrix_sync.hpp └── test │ ├── emulation │ ├── load_store_matrix_sync_test_emulation_params.hpp │ ├── regressiontest-load_store_matrix_sync_a_16.cpp │ ├── regressiontest-load_store_matrix_sync_a_32.cpp │ ├── regressiontest-load_store_matrix_sync_b_16.cpp │ ├── regressiontest-load_store_matrix_sync_b_32.cpp │ ├── smoketest-load_store_matrix_sync_a_16.cpp │ └── smoketest-load_store_matrix_sync_b_16.cpp │ ├── load_store_matrix_sync_a_128.cpp │ ├── load_store_matrix_sync_a_16.cpp │ ├── load_store_matrix_sync_a_256.cpp │ ├── load_store_matrix_sync_a_32.cpp │ ├── load_store_matrix_sync_a_64.cpp │ ├── load_store_matrix_sync_acc_128.cpp │ ├── load_store_matrix_sync_acc_16.cpp │ ├── load_store_matrix_sync_acc_256.cpp │ ├── load_store_matrix_sync_acc_32.cpp │ ├── load_store_matrix_sync_acc_64.cpp │ ├── load_store_matrix_sync_b_128.cpp │ ├── load_store_matrix_sync_b_16.cpp │ ├── load_store_matrix_sync_b_256.cpp │ ├── load_store_matrix_sync_b_32.cpp │ ├── load_store_matrix_sync_b_64.cpp │ └── load_store_matrix_sync_test_params.hpp ├── map_util_test ├── CMakeLists.txt ├── detail │ ├── map_block_to_matrix.hpp │ ├── map_block_to_matrix_override.hpp │ ├── map_matrix_to_data.hpp │ ├── map_matrix_to_data_override.hpp │ ├── map_thread_to_matrix.hpp │ └── map_wave_to_matrix.hpp ├── device │ ├── map_block_to_matrix.hpp │ ├── map_block_to_matrix_override.hpp │ ├── map_matrix_to_data.hpp │ ├── map_matrix_to_data_override.hpp │ ├── map_thread_to_matrix.hpp │ └── map_wave_to_matrix.hpp └── test │ ├── emulation │ ├── map_util_test_emulation_params.hpp │ ├── regressiontest-map_block_to_matrix_16.cpp │ ├── regressiontest-map_block_to_matrix_32.cpp │ ├── regressiontest-map_block_to_matrix_override_m_16.cpp │ ├── regressiontest-map_block_to_matrix_override_m_32.cpp │ ├── regressiontest-map_block_to_matrix_override_n_16.cpp │ ├── regressiontest-map_block_to_matrix_override_n_32.cpp │ ├── regressiontest-map_matrix_to_data_16.cpp │ ├── regressiontest-map_matrix_to_data_32.cpp │ ├── regressiontest-map_matrix_to_data_override_m_16.cpp │ ├── regressiontest-map_matrix_to_data_override_m_32.cpp │ ├── regressiontest-map_matrix_to_data_override_n_16.cpp │ ├── regressiontest-map_matrix_to_data_override_n_32.cpp │ ├── regressiontest-map_thread_to_matrix_16.cpp │ ├── regressiontest-map_thread_to_matrix_32.cpp │ ├── regressiontest-map_wave_to_matrix_16.cpp │ ├── regressiontest-map_wave_to_matrix_32.cpp │ ├── smoketest-map_block_to_matrix_16.cpp │ ├── smoketest-map_matrix_to_data_16.cpp │ ├── smoketest-map_thread_to_matrix_16.cpp │ └── smoketest-map_wave_to_matrix_16.cpp │ ├── map_block_to_matrix_128.cpp │ ├── map_block_to_matrix_128_bf16.cpp │ ├── map_block_to_matrix_128_bf8.cpp │ ├── map_block_to_matrix_128_bf8_fnuz.cpp │ ├── map_block_to_matrix_128_f16.cpp │ ├── map_block_to_matrix_128_f32.cpp │ ├── map_block_to_matrix_128_f8.cpp │ ├── map_block_to_matrix_128_f8_fnuz.cpp │ ├── map_block_to_matrix_128_hf16.cpp │ ├── map_block_to_matrix_128_i32.cpp │ ├── map_block_to_matrix_128_i8.cpp │ ├── map_block_to_matrix_128_u32.cpp │ ├── map_block_to_matrix_128_u8.cpp │ ├── map_block_to_matrix_128_xf32.cpp │ ├── map_block_to_matrix_16.cpp │ ├── map_block_to_matrix_256.cpp │ ├── map_block_to_matrix_256_bf16.cpp │ ├── map_block_to_matrix_256_bf8.cpp │ ├── map_block_to_matrix_256_bf8_fnuz.cpp │ ├── map_block_to_matrix_256_f16.cpp │ ├── map_block_to_matrix_256_f32.cpp │ ├── map_block_to_matrix_256_f8.cpp │ ├── map_block_to_matrix_256_f8_fnuz.cpp │ ├── map_block_to_matrix_256_hf16.cpp │ ├── map_block_to_matrix_256_i32.cpp │ ├── map_block_to_matrix_256_i8.cpp │ ├── map_block_to_matrix_256_u32.cpp │ ├── map_block_to_matrix_256_u8.cpp │ ├── map_block_to_matrix_256_xf32.cpp │ ├── map_block_to_matrix_32.cpp │ ├── map_block_to_matrix_64.cpp │ ├── map_block_to_matrix_override_m_128.cpp │ ├── map_block_to_matrix_override_m_128_bf16.cpp │ ├── map_block_to_matrix_override_m_128_bf8.cpp │ ├── map_block_to_matrix_override_m_128_bf8_fnuz.cpp │ ├── map_block_to_matrix_override_m_128_f16.cpp │ ├── map_block_to_matrix_override_m_128_f32.cpp │ ├── map_block_to_matrix_override_m_128_f8.cpp │ ├── map_block_to_matrix_override_m_128_f8_fnuz.cpp │ ├── map_block_to_matrix_override_m_128_hf16.cpp │ ├── map_block_to_matrix_override_m_128_i32.cpp │ ├── map_block_to_matrix_override_m_128_i8.cpp │ ├── map_block_to_matrix_override_m_128_u32.cpp │ ├── map_block_to_matrix_override_m_128_u8.cpp │ ├── map_block_to_matrix_override_m_128_xf32.cpp │ ├── map_block_to_matrix_override_m_16.cpp │ ├── map_block_to_matrix_override_m_256.cpp │ ├── map_block_to_matrix_override_m_256_bf16.cpp │ ├── map_block_to_matrix_override_m_256_bf8.cpp │ ├── map_block_to_matrix_override_m_256_bf8_fnuz.cpp │ ├── map_block_to_matrix_override_m_256_f16.cpp │ ├── map_block_to_matrix_override_m_256_f32.cpp │ ├── map_block_to_matrix_override_m_256_f8.cpp │ ├── map_block_to_matrix_override_m_256_f8_fnuz.cpp │ ├── map_block_to_matrix_override_m_256_hf16.cpp │ ├── map_block_to_matrix_override_m_256_i32.cpp │ ├── map_block_to_matrix_override_m_256_i8.cpp │ ├── map_block_to_matrix_override_m_256_u32.cpp │ ├── map_block_to_matrix_override_m_256_u8.cpp │ ├── map_block_to_matrix_override_m_256_xf32.cpp │ ├── map_block_to_matrix_override_m_32.cpp │ ├── map_block_to_matrix_override_m_64.cpp │ ├── map_block_to_matrix_override_n_128.cpp │ ├── map_block_to_matrix_override_n_128_bf16.cpp │ ├── map_block_to_matrix_override_n_128_bf8.cpp │ ├── map_block_to_matrix_override_n_128_bf8_fnuz.cpp │ ├── map_block_to_matrix_override_n_128_f16.cpp │ ├── map_block_to_matrix_override_n_128_f32.cpp │ ├── map_block_to_matrix_override_n_128_f8.cpp │ ├── map_block_to_matrix_override_n_128_f8_fnuz.cpp │ ├── map_block_to_matrix_override_n_128_hf16.cpp │ ├── map_block_to_matrix_override_n_128_i32.cpp │ ├── map_block_to_matrix_override_n_128_i8.cpp │ ├── map_block_to_matrix_override_n_128_u32.cpp │ ├── map_block_to_matrix_override_n_128_u8.cpp │ ├── map_block_to_matrix_override_n_128_xf32.cpp │ ├── map_block_to_matrix_override_n_16.cpp │ ├── map_block_to_matrix_override_n_256.cpp │ ├── map_block_to_matrix_override_n_256_bf16.cpp │ ├── map_block_to_matrix_override_n_256_bf8.cpp │ ├── map_block_to_matrix_override_n_256_bf8_fnuz.cpp │ ├── map_block_to_matrix_override_n_256_f16.cpp │ ├── map_block_to_matrix_override_n_256_f32.cpp │ ├── map_block_to_matrix_override_n_256_f8.cpp │ ├── map_block_to_matrix_override_n_256_f8_fnuz.cpp │ ├── map_block_to_matrix_override_n_256_hf16.cpp │ ├── map_block_to_matrix_override_n_256_i32.cpp │ ├── map_block_to_matrix_override_n_256_i8.cpp │ ├── map_block_to_matrix_override_n_256_u32.cpp │ ├── map_block_to_matrix_override_n_256_u8.cpp │ ├── map_block_to_matrix_override_n_256_xf32.cpp │ ├── map_block_to_matrix_override_n_32.cpp │ ├── map_block_to_matrix_override_n_64.cpp │ ├── map_matrix_to_data_128.cpp │ ├── map_matrix_to_data_16.cpp │ ├── map_matrix_to_data_256.cpp │ ├── map_matrix_to_data_32.cpp │ ├── map_matrix_to_data_64.cpp │ ├── map_matrix_to_data_override_m_128.cpp │ ├── map_matrix_to_data_override_m_128_bf16.cpp │ ├── map_matrix_to_data_override_m_128_bf8.cpp │ ├── map_matrix_to_data_override_m_128_bf8_fnuz.cpp │ ├── map_matrix_to_data_override_m_128_f16.cpp │ ├── map_matrix_to_data_override_m_128_f32.cpp │ ├── map_matrix_to_data_override_m_128_f8.cpp │ ├── map_matrix_to_data_override_m_128_f8_fnuz.cpp │ ├── map_matrix_to_data_override_m_128_hf16.cpp │ ├── map_matrix_to_data_override_m_128_i32.cpp │ ├── map_matrix_to_data_override_m_128_i8.cpp │ ├── map_matrix_to_data_override_m_128_u32.cpp │ ├── map_matrix_to_data_override_m_128_u8.cpp │ ├── map_matrix_to_data_override_m_128_xf32.cpp │ ├── map_matrix_to_data_override_m_16.cpp │ ├── map_matrix_to_data_override_m_256.cpp │ ├── map_matrix_to_data_override_m_256_bf16.cpp │ ├── map_matrix_to_data_override_m_256_bf8.cpp │ ├── map_matrix_to_data_override_m_256_bf8_fnuz.cpp │ ├── map_matrix_to_data_override_m_256_f16.cpp │ ├── map_matrix_to_data_override_m_256_f32.cpp │ ├── map_matrix_to_data_override_m_256_f8.cpp │ ├── map_matrix_to_data_override_m_256_f8_fnuz.cpp │ ├── map_matrix_to_data_override_m_256_hf16.cpp │ ├── map_matrix_to_data_override_m_256_i32.cpp │ ├── map_matrix_to_data_override_m_256_i8.cpp │ ├── map_matrix_to_data_override_m_256_u32.cpp │ ├── map_matrix_to_data_override_m_256_u8.cpp │ ├── map_matrix_to_data_override_m_256_xf32.cpp │ ├── map_matrix_to_data_override_m_32.cpp │ ├── map_matrix_to_data_override_m_64.cpp │ ├── map_matrix_to_data_override_n_128.cpp │ ├── map_matrix_to_data_override_n_128_bf16.cpp │ ├── map_matrix_to_data_override_n_128_bf8.cpp │ ├── map_matrix_to_data_override_n_128_bf8_fnuz.cpp │ ├── map_matrix_to_data_override_n_128_f16.cpp │ ├── map_matrix_to_data_override_n_128_f32.cpp │ ├── map_matrix_to_data_override_n_128_f8.cpp │ ├── map_matrix_to_data_override_n_128_f8_fnuz.cpp │ ├── map_matrix_to_data_override_n_128_hf16.cpp │ ├── map_matrix_to_data_override_n_128_i32.cpp │ ├── map_matrix_to_data_override_n_128_i8.cpp │ ├── map_matrix_to_data_override_n_128_u32.cpp │ ├── map_matrix_to_data_override_n_128_u8.cpp │ ├── map_matrix_to_data_override_n_128_xf32.cpp │ ├── map_matrix_to_data_override_n_16.cpp │ ├── map_matrix_to_data_override_n_256.cpp │ ├── map_matrix_to_data_override_n_256_bf16.cpp │ ├── map_matrix_to_data_override_n_256_bf8.cpp │ ├── map_matrix_to_data_override_n_256_bf8_fnuz.cpp │ ├── map_matrix_to_data_override_n_256_f16.cpp │ ├── map_matrix_to_data_override_n_256_f32.cpp │ ├── map_matrix_to_data_override_n_256_f8.cpp │ ├── map_matrix_to_data_override_n_256_f8_fnuz.cpp │ ├── map_matrix_to_data_override_n_256_hf16.cpp │ ├── map_matrix_to_data_override_n_256_i32.cpp │ ├── map_matrix_to_data_override_n_256_i8.cpp │ ├── map_matrix_to_data_override_n_256_u32.cpp │ ├── map_matrix_to_data_override_n_256_u8.cpp │ ├── map_matrix_to_data_override_n_256_xf32.cpp │ ├── map_matrix_to_data_override_n_32.cpp │ ├── map_matrix_to_data_override_n_64.cpp │ ├── map_thread_to_matrix_128.cpp │ ├── map_thread_to_matrix_16.cpp │ ├── map_thread_to_matrix_256.cpp │ ├── map_thread_to_matrix_32.cpp │ ├── map_thread_to_matrix_64.cpp │ ├── map_util_test_params.hpp │ ├── map_wave_to_matrix_128.cpp │ ├── map_wave_to_matrix_16.cpp │ ├── map_wave_to_matrix_256.cpp │ ├── map_wave_to_matrix_32.cpp │ └── map_wave_to_matrix_64.cpp ├── pack_util_test ├── CMakeLists.txt ├── detail │ └── pack_util.hpp ├── device │ └── pack_util.hpp └── test │ ├── emulation │ ├── regressiontest-pack_util.cpp │ └── smoketest-pack_util.cpp │ └── pack_util.cpp ├── references └── register_bank.hpp ├── transforms_test ├── CMakeLists.txt ├── detail │ └── transforms.hpp ├── device │ └── transforms.hpp └── test │ ├── emulation │ ├── regressiontest-transforms.cpp │ └── smoketest-transforms.cpp │ └── transforms.cpp ├── tuple_test ├── CMakeLists.txt ├── detail │ └── tuple.hpp ├── device │ └── tuple.hpp └── test │ ├── emulation │ ├── regressiontest-tuple.cpp │ └── smoketest-tuple.cpp │ └── tuple.cpp ├── unit_kernel_base.cpp ├── unit_kernel_base.hpp ├── unit_kernel_base_impl.hpp ├── unit_resource.hpp ├── unit_resource_impl.hpp ├── unit_test.hpp ├── unit_test_macros.hpp ├── unit_test_params.hpp ├── unit_test_traits.hpp ├── unpack_util_test ├── CMakeLists.txt ├── detail │ └── unpackutil.hpp ├── device │ └── unpackutil.hpp └── test │ ├── emulation │ ├── regressiontest-unpackutil.cpp │ └── smoketest-unpackutil.cpp │ └── unpackutil.cpp ├── vector_iterator_test ├── CMakeLists.txt ├── detail │ └── vector_iterator.hpp ├── device │ └── vector_iterator.hpp └── test │ ├── emulation │ ├── regressiontest-vector_iterator.cpp │ └── smoketest-vector_iterator.cpp │ └── vector_iterator.cpp ├── vector_test ├── CMakeLists.txt ├── detail │ └── vector.hpp ├── device │ └── vector.hpp └── test │ ├── emulation │ ├── regressiontest-vector.cpp │ └── smoketest-vector.cpp │ └── vector.cpp └── vector_util_test ├── CMakeLists.txt ├── detail └── vector_util.hpp ├── device └── vector_util.hpp └── test ├── emulation ├── regressiontest-vector_util.cpp └── smoketest-vector_util.cpp └── vector_util.cpp /.azuredevops/rocm-ci.yml: -------------------------------------------------------------------------------- 1 | resources: 2 | repositories: 3 | - repository: pipelines_repo 4 | type: github 5 | endpoint: ROCm 6 | name: ROCm/ROCm 7 | 8 | variables: 9 | - group: common 10 | - template: /.azuredevops/variables-global.yml@pipelines_repo 11 | 12 | trigger: 13 | batch: true 14 | branches: 15 | include: 16 | - develop 17 | - mainline 18 | paths: 19 | exclude: 20 | - .githooks 21 | - .github 22 | - .jenkins 23 | - docs 24 | - '.*.y*ml' 25 | - '*.md' 26 | 27 | pr: 28 | autoCancel: true 29 | branches: 30 | include: 31 | - develop 32 | - mainline 33 | paths: 34 | exclude: 35 | - .githooks 36 | - .github 37 | - .jenkins 38 | - docs 39 | - '.*.y*ml' 40 | - '*.md' 41 | drafts: false 42 | 43 | jobs: 44 | - template: ${{ variables.CI_COMPONENT_PATH }}/rocWMMA.yml@pipelines_repo 45 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pdf binary 2 | *.doc binary 3 | *.docx binary 4 | *.ppt binary 5 | *.pptx binary 6 | *.xls binary 7 | *.xlsx binary 8 | *.xps binary 9 | -------------------------------------------------------------------------------- /.githooks/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | cd $(git rev-parse --git-dir) 4 | cd hooks 5 | 6 | echo "Installing hooks..." 7 | ln -s ../../.githooks/pre-commit pre-commit 8 | echo "Done!" 9 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @cgmillette @congma13 @bragadeesh @dlangbe @Ryker0627 2 | # Documentation files 3 | docs/* @ROCm/rocm-documentation 4 | *.md @ROCm/rocm-documentation 5 | *.rst @ROCm/rocm-documentation 6 | # Header directory for Doxygen documentation 7 | library/include/* @ROCm/rocm-documentation 8 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "pip" # See documentation for possible values 9 | directory: "/docs/sphinx" # Location of package manifests 10 | open-pull-requests-limit: 10 11 | schedule: 12 | interval: "daily" 13 | labels: 14 | - "documentation" 15 | - "dependencies" 16 | - "ci:docs-only" 17 | reviewers: 18 | - "samjwu" 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Generated version file 8 | rocwmma_version.hpp 9 | rocwmma-version.hpp 10 | 11 | # Precompiled Headers 12 | *.gch 13 | *.pch 14 | 15 | # Compiled Dynamic libraries 16 | *.so 17 | *.dylib 18 | *.dll 19 | 20 | # Fortran module files 21 | *.mod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | # vim tags 35 | tags 36 | .tags 37 | .*.swp 38 | 39 | # Editors 40 | .vscode 41 | 42 | # build-in-source directory 43 | build* 44 | 45 | # emacs temporary/backup files 46 | .\#* 47 | \#*\# 48 | *~ 49 | *.log 50 | -------------------------------------------------------------------------------- /.jenkins/staticanalysis.groovy: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env groovy 2 | // This shared library is available at https://github.com/ROCmSoftwarePlatform/rocJENKINS/ 3 | @Library('rocJenkins@pong') _ 4 | 5 | // This is file for internal AMD use. 6 | // If you are interested in running your own Jenkins, please raise a github issue for assistance. 7 | 8 | import com.amd.project.* 9 | import com.amd.docker.* 10 | import java.nio.file.Path 11 | 12 | def runCompileCommand(platform, project, jobName, boolean debug=false) 13 | { 14 | project.paths.construct_build_prefix() 15 | } 16 | 17 | def runCI = 18 | { 19 | nodeDetails, jobName-> 20 | 21 | def prj = new rocProject('rocWMMA', 'StaticAnalysis') 22 | 23 | // Define test architectures, optional rocm version argument is available 24 | def nodes = new dockerNodes(nodeDetails, jobName, prj) 25 | 26 | boolean formatCheck = false 27 | boolean staticAnalysis = true 28 | 29 | def compileCommand = 30 | { 31 | platform, project-> 32 | 33 | runCompileCommand(platform, project, jobName, false) 34 | } 35 | 36 | buildProject(prj , formatCheck, nodes.dockerArray, compileCommand, null, null, staticAnalysis) 37 | } 38 | ci: { 39 | String urlJobName = auxiliary.getTopJobName(env.BUILD_URL) 40 | 41 | def propertyList = ["compute-rocm-dkms-no-npi-hipclang":[pipelineTriggers([cron('0 1 * * 6')])], 42 | "rocm-docker":[]] 43 | propertyList = auxiliary.appendPropertyList(propertyList) 44 | 45 | def jobNameList = ["compute-rocm-dkms-no-npi-hipclang":[]] 46 | jobNameList = auxiliary.appendJobNameList(jobNameList) 47 | 48 | propertyList.each 49 | { 50 | jobName, property-> 51 | if (urlJobName == jobName) 52 | properties(auxiliary.addCommonProperties(property)) 53 | } 54 | 55 | jobNameList.each 56 | { 57 | jobName, nodeDetails-> 58 | if (urlJobName == jobName) 59 | stage(jobName) { 60 | runCI(nodeDetails, jobName) 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # Read the Docs configuration file 2 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 3 | 4 | version: 2 5 | 6 | sphinx: 7 | configuration: docs/conf.py 8 | 9 | formats: [htmlzip, pdf, epub] 10 | 11 | python: 12 | install: 13 | - requirements: docs/sphinx/requirements.txt 14 | 15 | build: 16 | os: ubuntu-22.04 17 | tools: 18 | python: "3.10" 19 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (C) 2016-2025 Advanced Micro Devices, Inc. All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /cmake/Macros/CheckF8.cmake: -------------------------------------------------------------------------------- 1 | # Define a macro to check for the struct 2 | macro(check_f8 RESULT_VAR) 3 | # Create a temporary source file 4 | file(WRITE ${CMAKE_BINARY_DIR}/CheckF8.cxx 5 | " 6 | #include 7 | struct __hip_fp8_e5m2 e5m2; 8 | struct __hip_fp8_e4m3 e4m3; 9 | 10 | int main() { return 0; } 11 | " 12 | ) 13 | 14 | # Try to compile the test program 15 | try_compile(HAS_F8 16 | ${CMAKE_BINARY_DIR} 17 | SOURCES ${CMAKE_BINARY_DIR}/CheckF8.cxx 18 | COMPILE_DEFINITIONS -xhip 19 | ) 20 | 21 | # Set the result variable 22 | if(HAS_F8) 23 | set(${RESULT_VAR} TRUE) 24 | else() 25 | set(${RESULT_VAR} FALSE) 26 | endif() 27 | 28 | # Clean up the temporary file (optional but recommended) 29 | file(REMOVE ${CMAKE_BINARY_DIR}/CheckF8.cxx) 30 | endmacro() 31 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # documentation artifacts 2 | _build/ 3 | _doxygen/ 4 | sphinx/_toc.yml 5 | doxygen/html/ 6 | doxygen/xml/ 7 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # This file only contains a selection of the most common options. For a full 4 | # list see the documentation: 5 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 6 | 7 | import re 8 | 9 | from rocm_docs import ROCmDocs 10 | 11 | with open('../CMakeLists.txt', encoding='utf-8') as f: 12 | match = re.search(r'set \( VERSION_STRING\s+\"?([0-9.]+)[^0-9.]+', f.read()) 13 | if not match: 14 | raise ValueError("VERSION not found!") 15 | version_number = match[1] 16 | left_nav_title = f"rocWMMA {version_number} Documentation" 17 | 18 | # for PDF output on Read the Docs 19 | project = "rocWMMA Documentation" 20 | author = "Advanced Micro Devices, Inc." 21 | copyright = "Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved." 22 | version = version_number 23 | release = version_number 24 | 25 | external_toc_path = "./sphinx/_toc.yml" 26 | 27 | docs_core = ROCmDocs(left_nav_title) 28 | docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/xml") 29 | docs_core.setup() 30 | 31 | external_projects_current_project = "rocwmma" 32 | 33 | for sphinx_var in ROCmDocs.SPHINX_VARS: 34 | globals()[sphinx_var] = getattr(docs_core, sphinx_var) 35 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. meta:: 2 | :description: An introduction to the rocWMMA C++ library for accelerating mixed precision matrix multiply-accumulate operations 3 | :keywords: rocWMMA, ROCm, library, API, tool, introduction 4 | 5 | .. _index: 6 | 7 | =========================== 8 | rocWMMA documentation 9 | =========================== 10 | 11 | rocWMMA is a C++ header library for accelerating mixed-precision matrix multiply-accumulate operations. 12 | It leverages specialized GPU matrix cores on the latest AMD discrete GPUs. 13 | For more information, see :doc:`What is rocWMMA? <./what-is-rocwmma>` 14 | 15 | The rocWMMA public repository is located at ``_. 16 | 17 | .. grid:: 2 18 | :gutter: 3 19 | 20 | .. grid-item-card:: Install 21 | 22 | * :doc:`Installation guide <./install/installation>` 23 | 24 | .. grid-item-card:: Conceptual 25 | 26 | * :doc:`Programming guide <./conceptual/programmers-guide>` 27 | 28 | .. grid-item-card:: Examples 29 | 30 | * `Samples `_ 31 | 32 | .. grid-item-card:: API reference 33 | 34 | * :doc:`API reference guide <./api-reference/api-reference-guide>` 35 | 36 | To contribute to the documentation, see `Contributing to ROCm `_. 37 | 38 | You can find licensing information on the `Licensing `_ page. -------------------------------------------------------------------------------- /docs/license.rst: -------------------------------------------------------------------------------- 1 | .. meta:: 2 | :description: rocWMMA license information 3 | :keywords: rocWMMA, ROCm, library, API, tool, license 4 | 5 | License 6 | ======= 7 | 8 | .. include:: ../LICENSE.md 9 | -------------------------------------------------------------------------------- /docs/sphinx/_toc.yml.in: -------------------------------------------------------------------------------- 1 | # Anywhere {branch} is used, the branch name will be substituted. 2 | # These comments will also be removed. 3 | root: index 4 | subtrees: 5 | 6 | - entries: 7 | - file: what-is-rocwmma 8 | title: What is rocWMMA? 9 | 10 | - caption: Install 11 | entries: 12 | - file: install/installation 13 | title: Installation guide 14 | 15 | - caption: Conceptual 16 | entries: 17 | - file: conceptual/programmers-guide 18 | title: Programming guide 19 | 20 | - caption: Examples 21 | entries: 22 | - url: https://github.com/ROCm/rocWMMA/tree/develop/samples 23 | title: Samples 24 | 25 | - caption: API reference 26 | entries: 27 | - file: api-reference/api-reference-guide 28 | title: API reference guide 29 | 30 | - caption: About 31 | entries: 32 | - file: license 33 | -------------------------------------------------------------------------------- /docs/sphinx/requirements.in: -------------------------------------------------------------------------------- 1 | rocm-docs-core==1.19.0 2 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/broadcast.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | #ifndef ROCWMMA_BROADCAST_HPP 27 | #define ROCWMMA_BROADCAST_HPP 28 | 29 | #include "types.hpp" 30 | #include "vector.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | 35 | // Broadcast generates vectors of desired values 36 | template 37 | struct Broadcast 38 | { 39 | struct Traits 40 | { 41 | using BroadcastT = VecT; 42 | }; 43 | 44 | ROCWMMA_DEVICE static inline void exec(typename Traits::BroadcastT& vec, DataT val) 45 | { 46 | vec = typename Traits::BroadcastT{(DataT)val}; 47 | } 48 | }; 49 | 50 | } // namespace rocwmma 51 | 52 | #endif // ROCWMMA_BROADCAST_HPP 53 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/mma_traits_impl.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | #ifndef ROCWMMA_MMA_TRAITS_IMPL_HPP 27 | #define ROCWMMA_MMA_TRAITS_IMPL_HPP 28 | 29 | #include "mma_traits.hpp" 30 | 31 | namespace rocwmma 32 | { 33 | namespace MmaTraits_impl 34 | { 35 | // This interface will be specialized by each 36 | // Mma operation backed, e.g., mfma and wmma. 37 | // The interface in mma_traits.hpp is expected to 38 | // be filled by the backends. 39 | template 40 | struct MmaTraits; 41 | 42 | } // namespace MmaTraits_impl 43 | 44 | } // namespace rocwmma 45 | 46 | // Backend fulfillments 47 | 48 | #include "mfma.hpp" 49 | #include "wmma.hpp" 50 | 51 | #endif // ROCWMMA_MMA_TRAITS_IMPL_HPP 52 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/rocwmma-version.hpp.in: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | //! @file 28 | //! @brief rocwmma-version.hpp provides the configured version and settings 29 | 30 | #ifndef ROCWMMA_API_VERSION_HPP 31 | #define ROCWMMA_API_VERSION_HPP 32 | 33 | // clang-format off 34 | #define ROCWMMA_VERSION_MAJOR @rocwmma_VERSION_MAJOR@ 35 | #define ROCWMMA_VERSION_MINOR @rocwmma_VERSION_MINOR@ 36 | #define ROCWMMA_VERSION_PATCH @rocwmma_VERSION_PATCH@ 37 | // clang-format on 38 | 39 | inline std::string rocwmma_get_version() 40 | { 41 | return std::to_string(ROCWMMA_VERSION_MAJOR) + "." + std::to_string(ROCWMMA_VERSION_MINOR) + "." 42 | + std::to_string(ROCWMMA_VERSION_PATCH); 43 | } 44 | 45 | #endif // ROCWMMA_API_VERSION_HPP 46 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/types_impl.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | #ifndef ROCWMMA_TYPES_IMPL_HPP 27 | #define ROCWMMA_TYPES_IMPL_HPP 28 | 29 | #include "types.hpp" 30 | 31 | namespace rocwmma 32 | { 33 | 34 | } // namespace rocwmma 35 | 36 | #endif // ROCWMMA_TYPES_IMPL_HPP 37 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/algorithm.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_ALGORITHM_HPP 28 | #define ROCWMMA_UTILITY_ALGORITHM_HPP 29 | 30 | #if defined(__HIPCC_RTC__) 31 | 32 | #include "algorithm_impl.hpp" 33 | namespace rocwmma 34 | { 35 | using detail::max; 36 | using detail::min; 37 | 38 | } // namespace rocwmma 39 | 40 | #define ROCWMMA_ALGORITHM_IMPL_NAMESPACE rocwmma::detail 41 | 42 | #else 43 | 44 | #include 45 | namespace rocwmma 46 | { 47 | // std implementations 48 | using std::max; 49 | using std::min; 50 | 51 | } // namespace rocwmma 52 | 53 | #define ROCWMMA_ALGORITHM_IMPL_NAMESPACE std 54 | 55 | #endif // defined(__HIPCC_RTC__) 56 | 57 | #endif // ROCWMMA_UTILITY_ALGORITHM_HPP 58 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/algorithm_impl.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_ALGORITHM_IMPL_HPP 28 | #define ROCWMMA_UTILITY_ALGORITHM_IMPL_HPP 29 | 30 | namespace rocwmma 31 | { 32 | namespace detail 33 | { 34 | 35 | template 36 | ROCWMMA_HOST_DEVICE constexpr T const& max(T const& a, T const& b) 37 | { 38 | return (a < b) ? b : a; 39 | } 40 | 41 | template 42 | ROCWMMA_HOST_DEVICE constexpr T const& min(T const& a, T const& b) 43 | { 44 | return (a < b) ? a : b; 45 | } 46 | 47 | } // namespace detail 48 | 49 | } // namespace rocwmma 50 | 51 | #endif // ROCWMMA_UTILITY_ALGORITHM_IMPL_HPP 52 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/apply.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_APPLY_HPP 28 | #define ROCWMMA_UTILITY_APPLY_HPP 29 | 30 | #include "apply_impl.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | // apply overloads 35 | using detail::apply; 36 | } 37 | 38 | #if !defined(__HIPCC_RTC__) 39 | 40 | #include 41 | namespace rocwmma 42 | { 43 | // Use STL 44 | using std::apply; 45 | 46 | } // namespace rocwmma 47 | 48 | #endif // !defined(__HIPCC_RTC__) 49 | 50 | #endif // ROCWMMA_UTILITY_APPLY_HPP 51 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/forward.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_FORWARD_HPP 28 | #define ROCWMMA_UTILITY_FORWARD_HPP 29 | 30 | #if defined(__HIPCC_RTC__) || defined(__clang__) 31 | 32 | #include "forward_impl.hpp" 33 | namespace rocwmma 34 | { 35 | // Use drop-in replacement 36 | using detail::forward; 37 | 38 | } // namespace rocwmma 39 | 40 | #else 41 | 42 | #include 43 | namespace rocwmma 44 | { 45 | // Use STL 46 | using std::forward; 47 | 48 | } // namespace rocwmma 49 | 50 | #endif // defined(__HIPCC_RTC__) || defined(__clang__) 51 | 52 | #endif // ROCWMMA_UTILITY_FORWARD_HPP 53 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/functional_impl.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_FUNCTIONAL_IMPL_HPP 28 | #define ROCWMMA_UTILITY_FUNCTIONAL_IMPL_HPP 29 | 30 | #include "type_traits.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | namespace detail 35 | { 36 | 37 | 38 | } // namespace detail 39 | 40 | } // namespace rocwmma 41 | 42 | #endif // ROCWMMA_UTILITY_FUNCTIONAL_IMPL_HPP 43 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/get.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_GET_HPP 28 | #define ROCWMMA_UTILITY_GET_HPP 29 | 30 | #include "get_impl.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | // get overloads 35 | using detail::get; 36 | } 37 | 38 | #if !defined(__HIPCC_RTC__) 39 | 40 | #include 41 | namespace rocwmma 42 | { 43 | // Use STL 44 | using std::get; 45 | 46 | } // namespace rocwmma 47 | 48 | #endif // !defined(__HIPCC_RTC__) 49 | 50 | #endif // ROCWMMA_UTILITY_GET_HPP 51 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/move.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_MOVE_HPP 28 | #define ROCWMMA_UTILITY_MOVE_HPP 29 | 30 | #if defined(__HIPCC_RTC__) || defined(__clang__) 31 | 32 | #include "move_impl.hpp" 33 | namespace rocwmma 34 | { 35 | // Use drop-in replacement 36 | using detail::move; 37 | 38 | } // namespace rocwmma 39 | 40 | #else 41 | 42 | #include 43 | namespace rocwmma 44 | { 45 | // Use STL 46 | using std::move; 47 | 48 | } // namespace rocwmma 49 | 50 | #endif // defined(__HIPCC_RTC__) || defined(__clang__) 51 | 52 | #endif // ROCWMMA_UTILITY_MOVE_HPP 53 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/move_impl.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_MOVE_IMPL_HPP 28 | #define ROCWMMA_UTILITY_MOVE_IMPL_HPP 29 | 30 | #include 31 | #include 32 | 33 | namespace rocwmma 34 | { 35 | namespace detail 36 | { 37 | 38 | template 39 | ROCWMMA_HOST_DEVICE constexpr remove_reference_t&& move(T&& t) noexcept 40 | { 41 | return static_cast&&>(t); 42 | } 43 | 44 | } // namespace detail 45 | 46 | } // namespace rocwmma 47 | 48 | #endif // ROCWMMA_UTILITY_MOVE_IMPL_HPP 49 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/numeric_limits.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_NUMERIC_LIMITS_HPP 28 | #define ROCWMMA_UTILITY_NUMERIC_LIMITS_HPP 29 | 30 | #if defined(__HIPCC_RTC__) 31 | 32 | #include "numeric_limits_impl.hpp" 33 | namespace rocwmma 34 | { 35 | // Use drop-in replacement 36 | using detail::numeric_limits; 37 | 38 | } // namespace rocwmma 39 | 40 | #define ROCWMMA_NUMERIC_LIMITS_IMPL_NAMESPACE rocwmma::detail 41 | 42 | #else 43 | 44 | #include 45 | namespace rocwmma 46 | { 47 | // Use STL 48 | using std::numeric_limits; 49 | 50 | } // namespace rocwmma 51 | 52 | #define ROCWMMA_NUMERIC_LIMITS_IMPL_NAMESPACE std 53 | 54 | #endif // defined(__HIPCC_RTC__) 55 | 56 | #endif // ROCWMMA_UTILITY_NUMERIC_LIMITS_HPP 57 | -------------------------------------------------------------------------------- /library/include/rocwmma/internal/utility/sequence.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_UTILITY_SEQUENCE_HPP 28 | #define ROCWMMA_UTILITY_SEQUENCE_HPP 29 | 30 | #include "sequence_impl.hpp" 31 | namespace rocwmma 32 | { 33 | using detail::index_sequence; 34 | using detail::make_index_sequence; 35 | using detail::make_offset_index_sequence; 36 | 37 | using detail::contains_number; 38 | using detail::contains_number_v; 39 | using detail::contains_type; 40 | using detail::contains_type_v; 41 | 42 | } // namespace rocwmma 43 | 44 | #endif // ROCWMMA_UTILITY_SEQUENCE_HPP 45 | -------------------------------------------------------------------------------- /scripts/performance/BenchmarkGemm.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright (C) 2022-2025 Advanced Micro Devices, Inc. All rights reserved. 3 | 4 | set -eux 5 | 6 | # ensure this script is in the cwd 7 | cd "$(dirname "${BASH_SOURCE[0]}")" 8 | 9 | output_dir=rocwmma-benchmarks 10 | build_dir=../../build/test/gemm/ 11 | 12 | if [ -d "$build_dir" ]; then 13 | # setup output directory for benchmarks 14 | mkdir -p "$output_dir" 15 | 16 | gemm_bench=("gemm_PGR0_LB0_MP0_SB_NC" "gemm_PGR0_LB0_MP0_MB_NC" "gemm_PGR1_LB2_MP0_MB_CP_BLK" "gemm_PGR1_LB2_MP0_MB_CP_WG" "gemm_PGR1_LB2_MP0_MB_CP_WV") 17 | 18 | # run benchmarks 19 | for f in ${gemm_bench[@]}; do 20 | if [[ -e $build_dir/$f-bench && ! -L $build_dir/$f-bench ]]; then 21 | mkdir -p $output_dir/rocWMMA_$f 22 | $build_dir$f"-bench" --output_stream "$output_dir/rocWMMA_$f/${f}-benchmark.csv" 23 | fi 24 | done 25 | fi 26 | 27 | -------------------------------------------------------------------------------- /test/dlrm/data/input_fp16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/input_fp16 -------------------------------------------------------------------------------- /test/dlrm/data/input_fp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/input_fp32 -------------------------------------------------------------------------------- /test/dlrm/data/input_grad_fp16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/input_grad_fp16 -------------------------------------------------------------------------------- /test/dlrm/data/input_grad_fp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/input_grad_fp32 -------------------------------------------------------------------------------- /test/dlrm/data/output_fp16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_fp16 -------------------------------------------------------------------------------- /test/dlrm/data/output_fp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_fp32 -------------------------------------------------------------------------------- /test/dlrm/data/output_input_grad_fp16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_input_grad_fp16 -------------------------------------------------------------------------------- /test/dlrm/data/output_input_grad_fp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_input_grad_fp32 -------------------------------------------------------------------------------- /test/dlrm/data/output_mlp_input_grad_fp16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_mlp_input_grad_fp16 -------------------------------------------------------------------------------- /test/dlrm/data/output_mlp_input_grad_fp32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ROCm/rocWMMA/95a6eecee6e71ee94fbbaf617dbcc8d06f485b35/test/dlrm/data/output_mlp_input_grad_fp32 -------------------------------------------------------------------------------- /test/dlrm/dlrm_kernel_base.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "dlrm_kernel_base.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | bool KernelI::sHeaderPrinted = false; 32 | } // namespace rocwmma 33 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_MB_NC/test/common_test_params.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_GEMM_COMMON_TEST_PARAMS 28 | #define ROCWMMA_GEMM_COMMON_TEST_PARAMS 29 | 30 | #include "gemm_common_test_params.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | /// 35 | /// FWD declarations 36 | /// 37 | 38 | class KernelGenerator_PGR0_LB0_MP0_MB_NC; 39 | 40 | /// 41 | /// Generalized kernel params for most cooperative tests 42 | /// 43 | struct CommonTestParams : public GemmCommonTestParams 44 | { 45 | /// 46 | /// Kernel generator impl objects 47 | /// 48 | using KernelGeneratorImpl = KernelGenerator_PGR0_LB0_MP0_MB_NC; 49 | }; 50 | } // namespace rocwmma 51 | 52 | #endif // ROCWMMA_GEMM_COMMON_TEST_PARAMS 53 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_MB_NC/test/test_includes.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_GEMM_TEST_INCLUDES_HPP 28 | #define ROCWMMA_GEMM_TEST_INCLUDES_HPP 29 | 30 | // Common includes for all tests 31 | #include "detail/kernel_generator_impl.hpp" 32 | #include "detail/kernel_impl.hpp" 33 | #include "device/kernel_device_func.hpp" 34 | #include "test/common_test_params.hpp" 35 | 36 | #include "gemm_common_test_params.hpp" 37 | #include "gemm_test.hpp" 38 | #include "gemm_test_macros.hpp" 39 | #include "kernel_generator.hpp" 40 | 41 | #endif // ROCWMMA_GEMM_TEST_INCLUDES_HPP 42 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/16x16_nn.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes16x16, 36 | TestBlockSizes16x16, 37 | TestLayoutsNN); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _16x16_NN, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/16x16_nt.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes16x16, 36 | TestBlockSizes16x16, 37 | TestLayoutsNT); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _16x16_NT, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/16x16_tn.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes16x16, 36 | TestBlockSizes16x16, 37 | TestLayoutsTN); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _16x16_TN, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/16x16_tt.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes16x16, 36 | TestBlockSizes16x16, 37 | TestLayoutsTT); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _16x16_TT, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/32x32_nn.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes32x32, 36 | TestBlockSizes32x32, 37 | TestLayoutsNN); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _32x32_NN, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/32x32_nt.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes32x32, 36 | TestBlockSizes32x32, 37 | TestLayoutsNT); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _32x32_NT, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/32x32_tn.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes32x32, 36 | TestBlockSizes32x32, 37 | TestLayoutsTN); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _32x32_TN, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/32x32_tt.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS(TestParams, 33 | CommonTestParams, 34 | KernelGeneratorImpl, 35 | TestTypes32x32, 36 | TestBlockSizes32x32, 37 | TestLayoutsTT); 38 | 39 | } // namespace rocwmma 40 | 41 | // Instantiate kernels as a test suite 42 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR0_LB0_MP0_SB_NC, _32x32_TT, rocwmma::TestParams); 43 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/common_test_params.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_GEMM_COMMON_TEST_PARAMS 28 | #define ROCWMMA_GEMM_COMMON_TEST_PARAMS 29 | 30 | #include "gemm_common_test_params.hpp" 31 | 32 | namespace rocwmma 33 | { 34 | /// 35 | /// FWD declarations 36 | /// 37 | 38 | class KernelGenerator_PGR0_LB0_MP0_SB_NC; 39 | 40 | /// 41 | /// Generalized kernel params for most cooperative tests 42 | /// 43 | struct CommonTestParams : public GemmCommonTestParams 44 | { 45 | /// 46 | /// Kernel generator impl objects 47 | /// 48 | using KernelGeneratorImpl = KernelGenerator_PGR0_LB0_MP0_SB_NC; 49 | }; 50 | } // namespace rocwmma 51 | 52 | #endif // ROCWMMA_GEMM_COMMON_TEST_PARAMS 53 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR0_LB0_MP0_SB_NC/test/test_includes.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_GEMM_TEST_INCLUDES_HPP 28 | #define ROCWMMA_GEMM_TEST_INCLUDES_HPP 29 | 30 | // Common includes for all tests 31 | #include "detail/kernel_generator_impl.hpp" 32 | #include "detail/kernel_impl.hpp" 33 | #include "device/kernel_device_func.hpp" 34 | #include "test/common_test_params.hpp" 35 | 36 | #include "gemm_common_test_params.hpp" 37 | #include "gemm_test.hpp" 38 | #include "gemm_test_macros.hpp" 39 | #include "kernel_generator.hpp" 40 | 41 | #endif // ROCWMMA_GEMM_TEST_INCLUDES_HPP 42 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/test_includes.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_GEMM_TEST_INCLUDES 28 | #define ROCWMMA_GEMM_TEST_INCLUDES 29 | 30 | // Kernel test includes 31 | #include "detail/kernel_generator_impl.hpp" 32 | #include "detail/kernel_impl.hpp" 33 | #include "device/kernel_device_func.hpp" 34 | #include "test/common_test_params.hpp" 35 | 36 | // Common gemm utility includes 37 | #include "gemm_config.hpp" 38 | #include "gemm_test.hpp" 39 | #include "gemm_test_macros.hpp" 40 | #include "hip_device.hpp" 41 | #include "kernel_generator.hpp" 42 | 43 | #endif // ROCWMMA_GEMM_TEST_INCLUDES 44 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/wave/16x16_nn_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsNN, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWaveLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WV_16x16_NN_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/wave/16x16_nt_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsNT, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWaveLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WV_16x16_NT_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/wave/16x16_tn_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsTN, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWaveLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WV_16x16_TN_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/wave/16x16_tt_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsTT, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWaveLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WV_16x16_TT_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/workgroup/16x16_nn_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsNN, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWgLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WG_16x16_NN_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/workgroup/16x16_nt_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsNT, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWgLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WG_16x16_NT_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/workgroup/16x16_tn_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsTN, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWgLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WG_16x16_TN_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/gemm/gemm_PGR1_LB2_MP0_MB_CP/test/workgroup/16x16_tt_1x4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "test/test_includes.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | 32 | ROCWMMA_GENERATE_GEMM_GTEST_SUITE_PARAMS( 33 | TestParams, 34 | CommonTestParams, 35 | KernelGeneratorImpl, 36 | TestTypes16x16, 37 | TestBlockSizes16x16TinyBlockK, // TODO: Change back to small 38 | TestLayoutsTT, 39 | TestLdsDataLayouts, 40 | TestGemmConfigsWgLevel, 41 | TestBlocks1x4); 42 | 43 | } // namespace rocwmma 44 | 45 | // Instantiate kernels as a test suite 46 | ROCWMMA_INSTANTIATE_GEMM_GTEST_SUITE(Gemm_PGR1_LB2_MP0_MB_CP, WG_16x16_TT_1x4, rocwmma::TestParams); 47 | -------------------------------------------------------------------------------- /test/singleton.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_TEST_SINGLETON_HPP 28 | #define ROCWMMA_TEST_SINGLETON_HPP 29 | 30 | #include 31 | 32 | namespace rocwmma 33 | { 34 | 35 | template 36 | class LazySingleton 37 | { 38 | public: 39 | static inline std::unique_ptr const& instance() 40 | { 41 | static auto sInstance = std::make_unique(); 42 | return sInstance; 43 | } 44 | }; 45 | 46 | } // namespace rocwmma 47 | 48 | #endif // ROCWMMA_TEST_SINGLETON_HPP 49 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-blend_extract_byte_even.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | BlendKernelParams, 41 | BlendOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionBlendExtractByteEvenTest, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-blend_extract_word_even.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | BlendKernelParams, 41 | BlendOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionBlendExtractWordEvenTest, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-blend_unpack_byte_hi.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, BlendOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionBlendUnpackByteHiTest, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-blend_unpack_byte_lo.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, BlendOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionBlendUnpackByteLoTest, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-blend_unpack_word_hi.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, BlendOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionBlendUnpackWordHiTest, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_bcast_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppImpl::Ops::BCast2<1>>, 41 | DppOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppBCast2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_reverse_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppReverse2Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_rotate_l2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppImpl::Ops::RotateL2<1>>, 41 | DppOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppRotateL2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_rotate_wave_l1.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppRotateWaveL1Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_shift_l16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | DppKernelParams, DppImpl::Ops::ShiftL16<13>>, 41 | DppOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppShiftL16Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_shift_wave_l1.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppShiftWaveL1Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_shuffle_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | DppKernelParams, DppImpl::Ops::Shuffle2<1u, 0u>>, 41 | DppOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppShuffle2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-dpp_wfall_bcast_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, DppOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionDppWFallBCast16Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-swizzle_bcast_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | SwizzleKernelParams, SwizzleImpl::Ops::BCast2<1>>, 41 | SwizzleOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionSwizzleBCast2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-swizzle_reverse_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, SwizzleOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionSwizzleReverse2Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-swizzle_rotate_l2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | SwizzleKernelParams, SwizzleImpl::Ops::RotateL2<1>>, 41 | SwizzleOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionSwizzleRotateL2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-swizzle_shuffle_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | SwizzleKernelParams, SwizzleImpl::Ops::Shuffle2<1u, 0u>>, 41 | SwizzleOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionSwizzleShuffle2Test, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/regressiontest-swizzle_swap_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, SwizzleOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionSwizzleSwap2Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/smoketest-blend_extract_byte_even.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | BlendKernelParams, 41 | BlendOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeBlendExtractByteEvenTest, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/smoketest-blend_zip.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, BlendOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeBlendZipTest, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/smoketest-dpp_bcast_2.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams>, DppOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeDppBCast2Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/smoketest-permute_gather_scatter.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams = CrossLaneTestParams< 40 | PermuteKernelParams, PermuteImpl::Ops::Scatter32<4, 16>>, 41 | PermuteOpsGenerator>; 42 | 43 | } // namespace rocwmma 44 | 45 | // Test suite for unique parameterization 46 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokePermuteGatherScatterTest, TestParams) 47 | -------------------------------------------------------------------------------- /test/unit/cross_lane_ops_test/test/emulation/smoketest-swizzle_reverse_4.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | #include 29 | 30 | #include "../cross_lane_ops_test_params.hpp" 31 | #include "detail/cross_lane_ops.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = CrossLaneTestParams, SwizzleOpsGenerator>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeSwizzleReverse4Test, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/fill_fragment_test/test/emulation/smoketest-fill_fragment_a_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/fill_fragment.hpp" 30 | #include "fill_fragment_test_emulation_params.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationFillFragmentTestParams; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeFillFragmentATest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/fill_fragment_test/test/emulation/smoketest-fill_fragment_b_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/fill_fragment.hpp" 30 | #include "fill_fragment_test_emulation_params.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationFillFragmentTestParams; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeFillFragmentBTest32, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/io_shape_test/test/emulation/regressiontest-io_shape_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_shape_test_params.hpp" 30 | #include "detail/io_shape.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams 38 | = IoShapeTestParams; 39 | 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionIOShapeTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/io_shape_test/test/emulation/regressiontest-io_shape_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_shape_test_params.hpp" 30 | #include "detail/io_shape.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams 38 | = IoShapeTestParams; 39 | 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionIOShapeTest32, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/io_shape_test/test/emulation/smoketest-io_shape_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_shape_test_params.hpp" 30 | #include "detail/io_shape.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams 38 | = IoShapeTestParams; 39 | 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeIOShapeTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/io_shape_test/test/emulation/smoketest-io_shape_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_shape_test_params.hpp" 30 | #include "detail/io_shape.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams 38 | = IoShapeTestParams; 39 | 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeIOShapeTest32, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/io_traits_test/test/emulation/regressiontest-io_traits_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_traits_test_params.hpp" 30 | #include "common.hpp" 31 | #include "detail/io_traits.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = IoTraitsTestParams, I<2>, I<4>>>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionIOTraitsTest16, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/io_traits_test/test/emulation/regressiontest-io_traits_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_traits_test_params.hpp" 30 | #include "detail/io_traits.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | 38 | using TestParams 39 | = IoTraitsTestParams, I<2>, I<4>>>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionIOTraitsTest32, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/io_traits_test/test/emulation/smoketest-io_traits_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_traits_test_params.hpp" 30 | #include "common.hpp" 31 | #include "detail/io_traits.hpp" 32 | #include "kernel_generator.hpp" 33 | #include "unit_test.hpp" 34 | #include "unit_test_macros.hpp" 35 | 36 | namespace rocwmma 37 | { 38 | 39 | using TestParams 40 | = IoTraitsTestParams, I<2>, I<4>>>; 41 | 42 | } // namespace rocwmma 43 | 44 | // Test suite for unique parameterization 45 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeIOTraitsTest16, TestParams) 46 | -------------------------------------------------------------------------------- /test/unit/io_traits_test/test/emulation/smoketest-io_traits_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "../io_traits_test_params.hpp" 30 | #include "detail/io_traits.hpp" 31 | #include "kernel_generator.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams 38 | = IoTraitsTestParams, I<2>, I<4>>>; 39 | 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeIOTraitsTest32, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-col_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/col_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionColLayoutTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-col_layout_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/col_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionColLayoutTest32, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-colnt_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/colnt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionColNTLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-colnt_layout_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/colnt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionColNTLayoutTest32, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-row_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/row_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionRowLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-row_layout_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/row_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionRowLayoutTest32, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-rownt_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/rownt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionRowNTLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/regressiontest-rownt_layout_32.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/rownt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationRegressionRowNTLayoutTest32, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/smoketest-col_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/col_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams, I<16>>>, 39 | ColLayoutGenerator>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeColLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/smoketest-colnt_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/colnt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams, I<16>>>, 39 | ColNTLayoutGenerator>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeColNTLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/smoketest-row_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/row_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams, I<16>>>, 39 | RowLayoutGenerator>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeRowLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_test/test/emulation/smoketest-rownt_layout_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/rownt_layout.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "layout_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationLayoutTestParams, I<16>>>, 39 | RowNTLayoutGenerator>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeRowNTLayoutTest16, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/layout_traits_test/test/common_includes.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #ifndef ROCWMMA_LAYOUT_TRAITS_TEST_COMMON_INCLUDES_HPP 28 | #define ROCWMMA_LAYOUT_TRAITS_TEST_COMMON_INCLUDES_HPP 29 | 30 | #include "kernel_generator.hpp" 31 | #include "unit_test.hpp" 32 | #include "unit_test_macros.hpp" 33 | #include "unit_test_params.hpp" 34 | #include "unit_test_traits.hpp" 35 | 36 | #endif // ROCWMMA_LAYOUT_TRAITS_TEST_COMMON_INCLUDES_HPP 37 | -------------------------------------------------------------------------------- /test/unit/load_store_matrix_coop_sync_test/test/load_store_matrix_coop_sync_a_128.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "detail/load_store_matrix_coop_sync.hpp" 28 | #include "kernel_generator.hpp" 29 | #include "load_store_matrix_coop_sync_test_params.hpp" 30 | #include "unit_test.hpp" 31 | #include "unit_test_macros.hpp" 32 | 33 | namespace rocwmma 34 | { 35 | 36 | using TestParams = LoadStoreMatrixCoopSyncTestParams< 37 | UnitTestParams::TestTypesIOC, 38 | std::tuple, I<8>>, std::tuple, I<16>>>, 39 | LoadStoreMatrixCoopSyncGeneratorA>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(LoadStoreMatrixSyncCoopATest128, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/load_store_matrix_coop_sync_test/test/load_store_matrix_coop_sync_a_64.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "detail/load_store_matrix_coop_sync.hpp" 28 | #include "kernel_generator.hpp" 29 | #include "load_store_matrix_coop_sync_test_params.hpp" 30 | #include "unit_test.hpp" 31 | #include "unit_test_macros.hpp" 32 | 33 | namespace rocwmma 34 | { 35 | 36 | using TestParams = LoadStoreMatrixCoopSyncTestParams< 37 | UnitTestParams::TestTypesIOC, 38 | std::tuple, I<8>>, std::tuple, I<16>>, std::tuple, I<32>>>, 39 | LoadStoreMatrixCoopSyncGeneratorA>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(LoadStoreMatrixSyncCoopATest64, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/load_store_matrix_coop_sync_test/test/load_store_matrix_coop_sync_b_128.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "detail/load_store_matrix_coop_sync.hpp" 28 | #include "kernel_generator.hpp" 29 | #include "load_store_matrix_coop_sync_test_params.hpp" 30 | #include "unit_test.hpp" 31 | #include "unit_test_macros.hpp" 32 | 33 | namespace rocwmma 34 | { 35 | 36 | using TestParams = LoadStoreMatrixCoopSyncTestParams< 37 | UnitTestParams::TestTypesIOC, 38 | std::tuple, I<8>>, std::tuple, I<16>>>, 39 | LoadStoreMatrixCoopSyncGeneratorB>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(LoadStoreMatrixSyncCoopBTest128, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/load_store_matrix_coop_sync_test/test/load_store_matrix_coop_sync_b_64.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "detail/load_store_matrix_coop_sync.hpp" 28 | #include "kernel_generator.hpp" 29 | #include "load_store_matrix_coop_sync_test_params.hpp" 30 | #include "unit_test.hpp" 31 | #include "unit_test_macros.hpp" 32 | 33 | namespace rocwmma 34 | { 35 | 36 | using TestParams = LoadStoreMatrixCoopSyncTestParams< 37 | UnitTestParams::TestTypesIOC, 38 | std::tuple, I<8>>, std::tuple, I<16>>, std::tuple, I<32>>>, 39 | LoadStoreMatrixCoopSyncGeneratorB>; 40 | 41 | } // namespace rocwmma 42 | 43 | // Test suite for unique parameterization 44 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(LoadStoreMatrixSyncCoopBTest64, TestParams) 45 | -------------------------------------------------------------------------------- /test/unit/load_store_matrix_sync_test/test/emulation/smoketest-load_store_matrix_sync_a_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "load_store_matrix_sync_test_emulation_params.hpp" 28 | #include "unit_test_macros.hpp" 29 | 30 | namespace rocwmma 31 | { 32 | 33 | using TestParams = EmulationLoadStoreMatrixSyncTestParams, I<16>>>, 35 | LoadStoreMatrixSyncGeneratorA>; 36 | 37 | } // namespace rocwmma 38 | 39 | // Test suite for unique parameterization 40 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeLoadStoreMatrixSyncATest16, TestParams) 41 | -------------------------------------------------------------------------------- /test/unit/map_util_test/test/emulation/smoketest-map_block_to_matrix_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/map_block_to_matrix.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "map_util_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationMapUtilTestParams, I<16>>>, 39 | MapBlockToMatrixGenerator>; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeMapBlockToMatrixTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/map_util_test/test/emulation/smoketest-map_matrix_to_data_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/map_matrix_to_data.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "map_util_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationMapUtilTestParams, I<16>>>, 39 | MapMatrixToDataGenerator>; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeMapMatrixToDataTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/map_util_test/test/emulation/smoketest-map_wave_to_matrix_16.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include 28 | 29 | #include "detail/map_wave_to_matrix.hpp" 30 | #include "kernel_generator.hpp" 31 | #include "map_util_test_emulation_params.hpp" 32 | #include "unit_test.hpp" 33 | #include "unit_test_macros.hpp" 34 | 35 | namespace rocwmma 36 | { 37 | using TestParams = EmulationMapUtilTestParams, I<16>>>, 39 | MapWaveToMatrixGenerator>; 40 | } // namespace rocwmma 41 | 42 | // Test suite for unique parameterization 43 | ROCWMMA_GENERATE_UNIT_GTEST_SUITE(EmulationSmokeMapWaveToMatrixTest16, TestParams) 44 | -------------------------------------------------------------------------------- /test/unit/pack_util_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(PackUtilTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/pack_util.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-pack_util.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-pack_util.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(pack_util_test ${PackUtilTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/transforms_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(TransformsTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/transforms.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-transforms.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-transforms.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(transforms_test ${TransformsTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/tuple_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(TupleTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/tuple.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-tuple.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-tuple.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(tuple_test ${TupleTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/unit_kernel_base.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * MIT License 4 | * 5 | * Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | * SOFTWARE. 24 | * 25 | *******************************************************************************/ 26 | 27 | #include "unit_kernel_base.hpp" 28 | 29 | namespace rocwmma 30 | { 31 | bool KernelI::sHeaderPrinted = false; 32 | } 33 | -------------------------------------------------------------------------------- /test/unit/unpack_util_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(UnpackUtilTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/unpackutil.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-unpackutil.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-unpackutil.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(unpack_util_test ${UnpackUtilTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/vector_iterator_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(VectorIteratorTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/vector_iterator.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-vector_iterator.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-vector_iterator.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(vector_iterator_test ${VectorIteratorTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/vector_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(VectorTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/vector.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-vector.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-vector.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(vector_test ${VectorTestSources}) 37 | -------------------------------------------------------------------------------- /test/unit/vector_util_test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # MIT License 4 | # 5 | # Copyright (C) 2021-2025 Advanced Micro Devices, Inc. All rights reserved. 6 | # 7 | # Permission is hereby granted, free of charge, to any person obtaining a copy 8 | # of this software and associated documentation files (the "Software"), to deal 9 | # in the Software without restriction, including without limitation the rights 10 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | # copies of the Software, and to permit persons to whom the Software is 12 | # furnished to do so, subject to the following conditions: 13 | # 14 | # The above copyright notice and this permission notice shall be included in 15 | # all copies or substantial portions of the Software. 16 | # 17 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | # SOFTWARE. 24 | # 25 | ############################################################################### 26 | 27 | # Include path for current test files 28 | set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${ROCWMMA_TEST_INCLUDE_DIRS}) 29 | 30 | set(VectorUtilTestSources ${UnitCommonSources} 31 | ${CMAKE_CURRENT_SOURCE_DIR}/test/vector_util.cpp 32 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/smoketest-vector_util.cpp 33 | ${CMAKE_CURRENT_SOURCE_DIR}/test/emulation/regressiontest-vector_util.cpp 34 | ) 35 | 36 | add_rocwmma_unit_test(vector_util_test ${VectorUtilTestSources}) 37 | --------------------------------------------------------------------------------