-
Notifications
You must be signed in to change notification settings - Fork 141
Description
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:
- List of file paths lengths relative to the repository root that are greater than 200 characters: https://gist.github.com/ScottTodd/b048c9ba9c0681fcc3c67215cf27df38.
- Complete list: https://gist.github.com/ScottTodd/ef2b6618313d641cb30cc3e4d4c8fbaf. Note that there are 9231 source paths longer than a more reasonable upper limit of 150 characters (a chart would be neat 🤔)
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