Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
9bff41d
Add `tensilelite` to blas `projects_to_test` in TheRock CI matrix
archana-ramalingam May 29, 2026
53aa694
Fix black formatting for `projects_to_test` list
archana-ramalingam May 29, 2026
3690c65
Add Python version guard for rocisa stable ABI extension
archana-ramalingam May 29, 2026
9f7b8ef
Fix importlib.util usage in rocisa Python version guard
archana-ramalingam May 29, 2026
38e9780
Merge branch 'develop' into users/aramalin/tensilelite-therock-matrix
archana-ramalingam May 29, 2026
3f7fd45
[tensilelite] Move hip import inside `run_on_gpu()` in `gpu_test_help…
archana-ramalingam Jun 4, 2026
7990819
Merge remote-tracking branch 'origin/develop' into users/aramalin/ten…
archana-ramalingam Jun 5, 2026
e6924db
Update TheRock ref to 84b3ab1
Jun 3, 2026
ca43680
Restore workflow TheRock ref expressions and update ci-env
archana-ramalingam Jun 4, 2026
90fb0da
Trigger CI on ci-env/action.yml changes
archana-ramalingam Jun 4, 2026
df7aaeb
Install tensilelite-client to libexec for CI test artifacts
archana-ramalingam Jun 5, 2026
01d71ea
Guard hip import and add requires_gpu marker for GPU unit tests
archana-ramalingam Jun 5, 2026
ec4cdaf
Merge branch 'develop' into users/aramalin/tensilelite-therock-matrix
archana-ramalingam Jun 5, 2026
be17310
Move makeIsaInfoMap() to pytest fixture to fix singleton poisoning
archana-ramalingam Jun 5, 2026
4b935a3
Merge branch 'develop' into users/aramalin/tensilelite-therock-matrix
archana-ramalingam Jun 9, 2026
14a0b64
Revert PR #8014 changes from this branch
archana-ramalingam Jun 9, 2026
654248d
Move CMakeLists.txt and test_MatrixInstructionConversion.py changes t…
archana-ramalingam Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/scripts/therock_matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,13 @@
},
"blas": {
"cmake_options": ["-DTHEROCK_ENABLE_BLAS=ON"],
"projects_to_test": ["hipblaslt", "rocblas", "hipblas", "rocroller"],
"projects_to_test": [
"hipblaslt",
"rocblas",
"hipblas",
"rocroller",
"tensilelite",
],
},
"miopen": {
"cmake_options": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,21 @@
import subprocess
import tempfile

import pytest

hip = None
try:
from hip import hip
except ImportError:
pass

requires_hip = pytest.mark.skipif(hip is None, reason="hip module not installed")

# Add tensilelite to path
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
TENSILE_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, "..", "..", ".."))
sys.path.insert(0, TENSILE_ROOT)

from hip import hip, hiprtc # type: ignore

from unittest.mock import MagicMock
from types import SimpleNamespace
from dataclasses import dataclass
Expand Down Expand Up @@ -79,6 +87,10 @@ def _detect_gfx_target():
# ---- Constants ----
GFX_TARGET = _detect_gfx_target()
HAS_GFX950 = GFX_TARGET == "gfx950"
requires_gpu = pytest.mark.skipif(
hip is None or not HAS_GFX950,
reason=f"requires hip module and gfx950 (found hip={'yes' if hip else 'no'}, arch={GFX_TARGET})",
)
WAVESIZE = 64
NUM_WAVES = 4
NUM_THREADS = WAVESIZE * NUM_WAVES # 256
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
setup_roundtrip_writer,
build_roundtrip_inner_asm,
alloc_export_vgprs,
requires_gpu,
)


Expand Down Expand Up @@ -320,7 +321,7 @@ def print_grid_diff(label, actual, expected):
# Pytest tests
# ---------------------------------------------------------------------------

@pytest.mark.skipif(not HAS_GFX950, reason=f"GPU tests require gfx950, found {GFX_TARGET}")
@requires_gpu
class TestGrLrRoundtrip:

@pytest.fixture(params=CONFIGS, ids=lambda c: c.label)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
setup_roundtrip_writer,
build_roundtrip_inner_asm,
alloc_export_vgprs,
requires_gpu,
)

BPE = 1 # fp8: 1 byte per element
Expand Down Expand Up @@ -271,7 +272,7 @@ def compare_tiles_fp8(actual_bytes, expected_tiles, tileInfoA, tileInfoB, wave_i
# Pytest tests
# ---------------------------------------------------------------------------

@pytest.mark.skipif(not HAS_GFX950, reason=f"GPU tests require gfx950, found {GFX_TARGET}")
@requires_gpu
class TestGrLrRoundtripFP8:

@pytest.fixture(params=TILE_CONFIGS_FP8, ids=lambda c: c.label)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
assemble_and_run,
generate_kernel_asm,
generate_load_params,
requires_gpu,
)

from Tensile.Components.Subtile.SubtileGREmit import graTileAssignment
Expand Down Expand Up @@ -319,7 +320,7 @@ def verify_gr_output(output_bytes, ti, kernel, dest_vgprs, mt, stride, debug=Fal
# Pytest tests
# ---------------------------------------------------------------------------

@pytest.mark.skipif(not HAS_GFX950, reason=f"GPU tests require gfx950, found {GFX_TARGET}")
@requires_gpu
class TestGrOffset:

@pytest.fixture(params=CONFIGS, ids=lambda c: c.label)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
setup_roundtrip_writer,
build_roundtrip_inner_asm,
collect_tile_vgprs,
requires_gpu,
)

# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -380,7 +381,7 @@ def compare_mfma_output(actual_bytes, expected_pairs, debug=False):
# Pytest tests
# ---------------------------------------------------------------------------

@pytest.mark.skipif(not HAS_GFX950, reason=f"GPU tests require gfx950, found {GFX_TARGET}")
@requires_gpu
class TestMfmaFP8:
"""GPU tests for FP8 GR->LDS->LR->MFMA roundtrip."""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
TENSILE_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, "..", "..", ".."))
sys.path.insert(0, TENSILE_ROOT)

from hip import hip # type: ignore

from unittest.mock import MagicMock

from rocisa.code import Module, TextBlock
Expand All @@ -39,19 +37,20 @@

from gpu_test_helpers import (
TileConfig,
HAS_GFX950,
GFX_TARGET,
WAVESIZE,
NUM_THREADS,
create_writer,
generate_kernel_asm,
assemble_and_run,
assemble_kernel,
hip,
hip_check,
init_rocisa,
requires_gpu,
)

pytestmark = pytest.mark.skipif(not HAS_GFX950, reason=f"GPU tests require gfx950, found {GFX_TARGET}")
pytestmark = requires_gpu

# ---------------------------------------------------------------------------
# Test configurations: (mt_a, mt_b, depth_u)
Expand Down
11 changes: 11 additions & 0 deletions projects/hipblaslt/tensilelite/rocisa/rocisa/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@

import sys
import types

from pathlib import Path as _Path

if any(_Path(__file__).parent.glob("_rocisa.abi3.*")) and sys.version_info < (3, 12):
raise ImportError(
f"rocisa stable-ABI extension requires Python >= 3.12 "
f"(running {sys.version_info.major}.{sys.version_info.minor}). "
f"Install a non-stable-ABI build or upgrade Python."
)
del _Path

from ._rocisa import *
from . import _rocisa

Expand Down
Loading