Skip to content

[TLE][MTHREADS] Support transposed operands in tle.wgmma #922

[TLE][MTHREADS] Support transposed operands in tle.wgmma

[TLE][MTHREADS] Support transposed operands in tle.wgmma #922

# Copyright 2025- FlagOS Contributors
#
# 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:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# 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.
name: Metax3.6-Build-And-Test
on:
push:
branches: [ "main", "triton_v3.6.x" ]
pull_request:
branches: [ "main", "triton_v3.6.x" ]
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
metax36x-unit-test:
runs-on: metax3.6
if: ${{ github.repository == 'flagos-ai/flagtree' && github.event.pull_request.draft == false }}
steps:
- name: Setup environment
shell: bash
run: |
source ~/env.sh
env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true
- name: Smart Checkout
uses: flagos-ai/FlagTree/.github/actions/smart-checkout@main
with:
checkout_version: 'v6'
- name: Check if backend-relevant files changed
id: check_backend
uses: flagos-ai/FlagTree/.github/actions/check-backend-changed@main
with:
backend: metax
- name: Cleanup FlagTree Environment
if: steps.check_backend.outputs.should_skip != 'true'
uses: flagos-ai/FlagTree/.github/actions/cleanup-flagtree-env@main
- name: Build FlagTree
if: steps.check_backend.outputs.should_skip != 'true'
shell: bash
run: |
set -x
export FLAGTREE_BACKEND=metax
MAX_JOBS=32 python3 -m pip install . --no-build-isolation -v
- name: Clear cache if ClearCache label present
if: steps.check_backend.outputs.should_skip != 'true'
id: clear_cache
uses: flagos-ai/FlagTree/.github/actions/clear-cache-if-labeled@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
backend: metax
- name: Unit Test
if: steps.check_backend.outputs.should_skip != 'true'
shell: bash
run: |
set -x
source ~/env.sh
cd third_party/metax/python/test/unit
python3 -m pytest -s . \
--ignore=runtime/test_specialize.py \
--ignore=tools/test_aot.py \
--ignore=language/test_matmul.py \
--ignore=language/test_frontend.py \
--ignore=test_debug.py \
--ignore=language/test_tensor_descriptor.py \
-k "not test_fp8_support and \
not test_compile_only_sm100 and \
not test_compile_only_dot and \
not test_compile_only_k_loop and \
not test_typeconvert_upcast and \
not test_typeconvert_downcast and \
not test_tensor_atomic_add_access_patterns and \
not test_tensor_atomic_cas and \
not test_tensor_atomic_use_result and \
not test_load_store_same_ptr and \
not test_sum_dtype and \
not test_scan2d and \
not test_trans_4d and \
not test_dot and \
not test_scaled_dot and \
not test_poison_return and \
not test_globaltimer and \
not test_smid and \
not test_tl_range_num_stages and \
not test_tl_range_fuse and \
not test_disable_licm and \
not test_gather and \
not test_bessel and \
not test_triton_reproducer_path and \
not test_print and \
not test_indirect_matmul and \
not test_kwargs and \
not test_no_do_bench and \
not test_restore and \
not test_hooks and \
not test_prune_configs and \
not test_exceed_threads and \
not test_launch_with_options and \
not test_triton_debuginfo_on and \
not test_filecheck_positive and \
not test_filecheck_negative and \
not test_nvidia_tool and \
not test_link_extern_libs and \
not test_mma_remark and \
not test_remark_vectorization and \
not test_passing_tuple_to_make_tensor_descriptor"
- name: FlagTree TLE Tile Unit Test on Metax
if: steps.check_backend.outputs.should_skip != 'true'
shell: bash
run: |
set -x
source ~/env.sh
cd python/test/tle/unit
python3 -m pytest -s \
test_extract_tile_dynamic_index.py \
test_extract_tile_static_index.py \
test_insert_tile_dynamic_index.py \
test_insert_tile_static_index.py