Skip to content

[Issue]: Some kernel file paths are far too long, impacting Windows checkouts #2096

@ScottTodd

Description

@ScottTodd

Problem Description

There are many files like https://github.com/ROCm/rocm-libraries/blob/develop/projects/miopen/src/kernels/dynamic_igemm/igemm_gtc_xdlops_nhwc/bwd_fp16/igemm_bwd_gtcx_nhwc_fp16_bx0_ex0_bt128x128x32_wt32x32x8_ws1x1_wr2x2_ta1x8x2x1_1x4x1x64_tb1x8x1x2_1x4x1x64.s that use extremely long file paths. These are difficult to check out and work with, especially on platforms like Windows with file length limitations (260 characters).

This has most recently risked our releases since builds are failing on Windows due to missing files with logs like https://github.com/ROCm/therock-releases/actions/runs/18493843452

2025-10-14T19:36:09.5045965Z FAILED: inlined_kernels/batch_42.cpp.hpp B:/build/ml-libs/MIOpen/build/inlined_kernels/batch_42.cpp.hpp 
2025-10-14T19:36:09.5046325Z src\CMakeFiles\batch_42.cpp.hpp-42dce76.bat 5d7009c4aef833d5
2025-10-14T19:36:09.5047126Z File not found: "C:/home/runner/_work/therock-releases/therock-releases/rocm-libraries/projects/miopen/src/kernels/dynamic_igemm/igemm_gtc_nchwc_gfx1030/fwd_fp16x4/igemm_fwd_gtcn2_nchwc_kcyxc_fp16x4_bx0_ex1_bt192x64x32_lt8x8_lw2x4_lr3x2_ta1x1x1x24_1x8x1x32_tb1x1x2x4_1x8x1x32.s"
2025-10-14T19:36:09.5047820Z 

Note the base repository path of C:/home/runner/_work/therock-releases/therock-releases/, which is standard within github actions. We've already enabled long path support in those workflows. We're working to change that to a shorter path but users, developers, and CI workflows will be continually affected by this until path lengths are shortened. (cc @marbre )

There are some workarounds like

  • enabling "long path support" on Windows, in git, and in various tools.
  • checking out code to a short path

None of these are generally sufficient when file lengths get too long though.

Here are some logs:

Most long files are coming from composablekernel (which is not yet enabled on Windows) and MIOpen. The longest file path is projects/composablekernel/library/src/tensor_operation_instance/gpu/gemm_universal_preshuffle/device_gemm_xdl_universal_preshuffle_f8_f8_bf16/device_gemm_xdl_universal_preshuffle_f8_f8_bf16_mk_mfma16x16_nk_mn_comp_default_instance_p6.cpp at 237 characters, only 23 characters short of the 260 character limit (leaving very little headroom for the repository path itself or for any build or tool path components).

ROCm Component

MIOpen, composable_kernel

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions