mirror of
https://github.com/Niko1221/Strata.git
synced 2026-11-08 08:12:16 -10:00
Auto starts the split engine on 4 x R9700 for the IQ3_S set (and the other i-quant / Q2_0 expert types). Owner's yes 11-03. With the shared expert fused into the routed launches the split beats the layer split on IQ3_S: 1 user 186.8 against 104.2 tok/s, 8 users 364.6 against 320.7 through launch; 61-task suite 57/61 against 54/61; first-token KL vs the layer split 0.041. 2 and 3 cards unchanged; --split-engine off keeps the layer split
This commit is contained in:
1 parent
3671e77acd
commit
9149835c6a
2 files changed
+5
-8
No files matched your search
@@ -55,10 +55,9 @@ AUTO_SPLIT_AMD_ARCHS: tuple = ("gfx1201",)
|
||||
#: card counts on which mode "auto" starts it on those architectures. Four: on 2 and 3 R9700 with the IQ3_S set the split is slower than the layer split today (RESULTS-HIP.md
|
||||
#: section 7), and Auto must not pick a slower path. `--split-engine on` is not limited by this.
|
||||
AUTO_SPLIT_AMD_CARD_COUNTS: tuple = (4,)
|
||||
#: routed-expert types for which mode "auto" starts it on AMD: the UD-Q4_K_XL family. On 4 x R9700 with the IQ3_S set (i-quant and Q2_0 experts) the split is much slower than the
|
||||
#: layer split (8 users 143.8 against 326.8 tok/s, a 32K prompt 10.3 against 5.6 s, RESULTS-HIP.md section 7), because its i-quant tiles are a first, untuned version.
|
||||
#: `--split-engine on` still runs those sets.
|
||||
AUTO_SPLIT_AMD_EXPERT_TYPES: frozenset = frozenset({"Q4_K", "Q5_K", "Q5_1", "Q8_0"})
|
||||
#: routed-expert types for which mode "auto" starts it on AMD: the UD-Q4_K_XL family and the IQ3_S set (i-quant and Q2_0 experts). With the shared expert fused into the routed launches
|
||||
#: (round 0212) the split beats the layer split on 4 x R9700 with the IQ3_S set: 1 user 187 against 104 tok/s, 8 users 365 against 321 (phaseA-tests/round0212/RESULTS-AMDSPLIT.md).
|
||||
AUTO_SPLIT_AMD_EXPERT_TYPES: frozenset = frozenset({"Q4_K", "Q5_K", "Q5_1", "Q8_0", "Q2_0", "IQ2_S", "IQ3_XXS", "IQ3_S", "IQ4_XS", "IQ4_NL"})
|
||||
TESTED_CONTEXT = 131072
|
||||
MAX_CARDS = 4
|
||||
LAYERS, EXPERTS = 48, 512 # Qwen3.8-Flash-Next
|
||||
|
||||
@@ -401,7 +401,7 @@ class AmdDefault(unittest.TestCase):
|
||||
self.assertTrue(self.run_amd(cfg).use_split)
|
||||
self.assertEqual(cfg["args"][cfg["args"].index("--batch") + 1], "3")
|
||||
|
||||
def test_auto_on_amd_is_the_ud_q4_family_only_and_on_runs_the_iquant_sets(self):
|
||||
def test_auto_on_amd_starts_the_ud_q4_family_and_the_iq3s_set(self):
|
||||
import tempfile
|
||||
|
||||
iq3s = dict(routed_types={"IQ4_NL": 39, "IQ3_XXS": 34, "Q2_0": 9, "IQ2_S": 40, "IQ3_S": 20, "IQ4_XS": 2}, routed_bytes=int(48.8 * GIB), embd_type="IQ4_XS",
|
||||
@@ -412,9 +412,7 @@ class AmdDefault(unittest.TestCase):
|
||||
before = dict(cfg)
|
||||
d = S.apply_to_config(cfg, exe_for_cards=lambda n_, cc=None, arch=None: "/e/strata-split-4-amd", system="linux", probe=lambda i: cards(4, **self.R9700),
|
||||
ram=lambda: (125.0, 80.0), scan=lambda path: udq4(**iq3s))
|
||||
self.assertFalse(d.use_split)
|
||||
self.assertTrue(d.quiet)
|
||||
self.assertEqual(cfg, before)
|
||||
self.assertTrue(d.use_split, d.reasons)
|
||||
cfg = self.amd(tmp, split_engine="on")
|
||||
d = S.apply_to_config(cfg, exe_for_cards=lambda n_, cc=None, arch=None: "/e/strata-split-4-amd", system="linux", probe=lambda i: cards(4, **self.R9700),
|
||||
ram=lambda: (125.0, 80.0), scan=lambda path: udq4(**iq3s))
|
||||
|
||||
Reference in new issue
Block a user