[AMD] fix amd ci dpskv32 (#17432)
Co-authored-by: michaelzhang-ai <michaelzhang.ai@users.noreply.github.com>
This commit is contained in:
co-authored by
michaelzhang-ai
parent
fafa171529
commit
17807caf82
@@ -615,7 +615,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
runner: [linux-mi35x-gpu-8]
|
runner: [linux-mi35x-gpu-8]
|
||||||
part: [0, 1, 2]
|
part: [0, 1]
|
||||||
runs-on: ${{matrix.runner}}
|
runs-on: ${{matrix.runner}}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
@@ -637,7 +637,7 @@ jobs:
|
|||||||
- name: Run test
|
- name: Run test
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
run: |
|
run: |
|
||||||
bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd-mi35x --auto-partition-id ${{ matrix.part }} --auto-partition-size 3 --timeout-per-file 3600
|
bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd-mi35x --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600
|
||||||
|
|
||||||
performance-test-1-gpu-part-1-amd:
|
performance-test-1-gpu-part-1-amd:
|
||||||
needs: [check-changes, stage-a-test-1-amd]
|
needs: [check-changes, stage-a-test-1-amd]
|
||||||
|
|||||||
@@ -220,6 +220,8 @@ class Indexer(MultiPlatformOp):
|
|||||||
|
|
||||||
@torch.compile(dynamic=True) if not _is_hip else lambda f: f
|
@torch.compile(dynamic=True) if not _is_hip else lambda f: f
|
||||||
def _project_and_scale_head_gates(self, x: torch.Tensor):
|
def _project_and_scale_head_gates(self, x: torch.Tensor):
|
||||||
|
if _is_hip:
|
||||||
|
x = x.to(self.weights_proj.weight.dtype)
|
||||||
weights, _ = self.weights_proj(x)
|
weights, _ = self.weights_proj(x)
|
||||||
weights = weights.float()
|
weights = weights.float()
|
||||||
weights = weights * self.n_heads**-0.5
|
weights = weights * self.n_heads**-0.5
|
||||||
@@ -227,6 +229,8 @@ class Indexer(MultiPlatformOp):
|
|||||||
|
|
||||||
@torch.compile(dynamic=True) if not _is_hip else lambda f: f
|
@torch.compile(dynamic=True) if not _is_hip else lambda f: f
|
||||||
def _get_logits_head_gate(self, x: torch.Tensor, q_scale: torch.Tensor):
|
def _get_logits_head_gate(self, x: torch.Tensor, q_scale: torch.Tensor):
|
||||||
|
if _is_hip:
|
||||||
|
x = x.to(self.weights_proj.weight.dtype)
|
||||||
weights, _ = self.weights_proj(x)
|
weights, _ = self.weights_proj(x)
|
||||||
weights = weights.float()
|
weights = weights.float()
|
||||||
weights = weights * self.n_heads**-0.5
|
weights = weights * self.n_heads**-0.5
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ else:
|
|||||||
DEFAULT_URL_FOR_TEST = f"http://127.0.0.1:{DEFAULT_PORT_FOR_SRT_TEST_RUNNER + 1000}"
|
DEFAULT_URL_FOR_TEST = f"http://127.0.0.1:{DEFAULT_PORT_FOR_SRT_TEST_RUNNER + 1000}"
|
||||||
|
|
||||||
if is_in_amd_ci():
|
if is_in_amd_ci():
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH = 3000
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH = 3600 # Match H200 timeout for large models
|
||||||
|
|
||||||
if is_blackwell_system():
|
if is_blackwell_system():
|
||||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH = 3000
|
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH = 3000
|
||||||
|
|||||||
@@ -15,10 +15,16 @@ from sglang.test.test_utils import (
|
|||||||
write_github_step_summary,
|
write_github_step_summary,
|
||||||
)
|
)
|
||||||
|
|
||||||
register_amd_ci(est_time=3600, suite="stage-c-test-large-8-gpu-amd-mi35x")
|
register_amd_ci(
|
||||||
|
est_time=3600,
|
||||||
|
suite="stage-c-test-large-8-gpu-amd-mi35x",
|
||||||
|
disabled="move to nightly for saving time",
|
||||||
|
)
|
||||||
|
|
||||||
DEEPSEEK_V32_MODEL_PATH = "deepseek-ai/DeepSeek-V3.2"
|
DEEPSEEK_V32_MODEL_PATH = "deepseek-ai/DeepSeek-V3.2"
|
||||||
|
|
||||||
|
|
||||||
|
@unittest.skipIf(is_in_amd_ci(), "Skip DP test for AMD CI, run TP only.")
|
||||||
class TestDeepseekV32DP(CustomTestCase):
|
class TestDeepseekV32DP(CustomTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -90,7 +96,6 @@ class TestDeepseekV32DP(CustomTestCase):
|
|||||||
self.assertGreater(speed, 50)
|
self.assertGreater(speed, 50)
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipIf(is_in_amd_ci(), "To reduce the CI execution time for AMD.")
|
|
||||||
class TestDeepseekV32TP(CustomTestCase):
|
class TestDeepseekV32TP(CustomTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ register_amd_ci(est_time=3600, suite="stage-c-test-large-8-gpu-amd-mi35x")
|
|||||||
FULL_DEEPSEEK_V32_MODEL_PATH = "deepseek-ai/DeepSeek-V3.2"
|
FULL_DEEPSEEK_V32_MODEL_PATH = "deepseek-ai/DeepSeek-V3.2"
|
||||||
|
|
||||||
|
|
||||||
|
@unittest.skipIf(is_in_amd_ci(), "Skip DP test for AMD CI, run TP only.")
|
||||||
class TestDeepseekV32DPMTP(CustomTestCase):
|
class TestDeepseekV32DPMTP(CustomTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -116,7 +117,6 @@ class TestDeepseekV32DPMTP(CustomTestCase):
|
|||||||
self.assertGreater(speed, 75)
|
self.assertGreater(speed, 75)
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipIf(is_in_amd_ci(), "To reduce the CI execution time for AMD.")
|
|
||||||
class TestDeepseekV32TPMTP(CustomTestCase):
|
class TestDeepseekV32TPMTP(CustomTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -204,7 +204,7 @@ class TestDeepseekV32TPMTP(CustomTestCase):
|
|||||||
|
|
||||||
self.assertGreater(acc_length, 2.7)
|
self.assertGreater(acc_length, 2.7)
|
||||||
if is_in_amd_ci():
|
if is_in_amd_ci():
|
||||||
self.assertGreater(speed, 60)
|
self.assertGreater(speed, 55)
|
||||||
else:
|
else:
|
||||||
self.assertGreater(speed, 130)
|
self.assertGreater(speed, 130)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user