Skip to content

Commit 29e5bc8

Browse files
committed
fix: guard MTLLanguageVersion4_0 with SDK version check
MTLLanguageVersion4_0 is only available in macOS 26+ SDK. Fall back to 3_1 (macOS 14+) or 3_0 for older SDKs to fix CI builds.
1 parent 74102f5 commit 29e5bc8

2 files changed

Lines changed: 6 additions & 153 deletions

File tree

python/tvm/script/ir_builder/tir/ir.py

Lines changed: 0 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,311 +1432,158 @@ def func(
14321432

14331433

14341434
if TYPE_CHECKING:
1435-
14361435
class int8: ...
1437-
14381436
class int16: ...
1439-
14401437
class int32: ...
1441-
14421438
class int64: ...
1443-
14441439
class int8x4: ...
1445-
14461440
class int16x4: ...
1447-
14481441
class int32x4: ...
1449-
14501442
class int64x4: ...
1451-
14521443
class int8x8: ...
1453-
14541444
class int16x8: ...
1455-
14561445
class int32x8: ...
1457-
14581446
class int64x8: ...
1459-
14601447
class int8x16: ...
1461-
14621448
class int16x16: ...
1463-
14641449
class int32x16: ...
1465-
14661450
class int64x16: ...
1467-
14681451
class int8x32: ...
1469-
14701452
class int16x32: ...
1471-
14721453
class int32x32: ...
1473-
14741454
class int64x32: ...
1475-
14761455
class int8x64: ...
1477-
14781456
class int16x64: ...
1479-
14801457
class int32x64: ...
1481-
14821458
class int64x64: ...
1483-
14841459
class uint8: ...
1485-
14861460
class uint16: ...
1487-
14881461
class uint32: ...
1489-
14901462
class uint64: ...
1491-
14921463
class uint8x4: ...
1493-
14941464
class uint16x4: ...
1495-
14961465
class uint32x4: ...
1497-
14981466
class uint64x4: ...
1499-
15001467
class uint8x8: ...
1501-
15021468
class uint16x8: ...
1503-
15041469
class uint32x8: ...
1505-
15061470
class uint64x8: ...
1507-
15081471
class uint8x16: ...
1509-
15101472
class uint16x16: ...
1511-
15121473
class uint32x16: ...
1513-
15141474
class uint64x16: ...
1515-
15161475
class uint8x32: ...
1517-
15181476
class uint16x32: ...
1519-
15201477
class uint32x32: ...
1521-
15221478
class uint64x32: ...
1523-
15241479
class uint8x64: ...
1525-
15261480
class uint16x64: ...
1527-
15281481
class uint32x64: ...
1529-
15301482
class uint64x64: ...
1531-
15321483
class float16: ...
1533-
15341484
class float32: ...
1535-
15361485
class float64: ...
1537-
15381486
class float16x2: ...
1539-
15401487
class float32x2: ...
1541-
15421488
class float64x2: ...
1543-
15441489
class float16x4: ...
1545-
15461490
class float32x4: ...
1547-
15481491
class float64x4: ...
1549-
15501492
class float16x8: ...
1551-
15521493
class float32x8: ...
1553-
15541494
class float64x8: ...
1555-
15561495
class float16x16: ...
1557-
15581496
class float32x16: ...
1559-
15601497
class float64x16: ...
1561-
15621498
class float16x32: ...
1563-
15641499
class float32x32: ...
1565-
15661500
class float64x32: ...
1567-
15681501
class float16x64: ...
1569-
15701502
class float32x64: ...
1571-
15721503
class float64x64: ...
1573-
15741504
class float8_e3m4: ...
1575-
15761505
class float8_e3m4x2: ...
1577-
15781506
class float8_e3m4x4: ...
1579-
15801507
class float8_e3m4x8: ...
1581-
15821508
class float8_e3m4x16: ...
1583-
15841509
class float8_e3m4x32: ...
1585-
15861510
class float8_e3m4x64: ...
1587-
15881511
class float8_e4m3: ...
1589-
15901512
class float8_e4m3x2: ...
1591-
15921513
class float8_e4m3x4: ...
1593-
15941514
class float8_e4m3x8: ...
1595-
15961515
class float8_e4m3x16: ...
1597-
15981516
class float8_e4m3x32: ...
1599-
16001517
class float8_e4m3x64: ...
1601-
16021518
class float8_e4m3b11fnuz: ...
1603-
16041519
class float8_e4m3b11fnuzx2: ...
1605-
16061520
class float8_e4m3b11fnuzx4: ...
1607-
16081521
class float8_e4m3b11fnuzx8: ...
1609-
16101522
class float8_e4m3b11fnuzx16: ...
1611-
16121523
class float8_e4m3b11fnuzx32: ...
1613-
16141524
class float8_e4m3b11fnuzx64: ...
1615-
16161525
class float8_e4m3fn: ...
1617-
16181526
class float8_e4m3fnx2: ...
1619-
16201527
class float8_e4m3fnx4: ...
1621-
16221528
class float8_e4m3fnx8: ...
1623-
16241529
class float8_e4m3fnx16: ...
1625-
16261530
class float8_e4m3fnx32: ...
1627-
16281531
class float8_e4m3fnx64: ...
1629-
16301532
class float8_e4m3fnuz: ...
1631-
16321533
class float8_e4m3fnuzx2: ...
1633-
16341534
class float8_e4m3fnuzx4: ...
1635-
16361535
class float8_e4m3fnuzx8: ...
1637-
16381536
class float8_e4m3fnuzx16: ...
1639-
16401537
class float8_e4m3fnuzx32: ...
1641-
16421538
class float8_e4m3fnuzx64: ...
1643-
16441539
class float8_e5m2: ...
1645-
16461540
class float8_e5m2x2: ...
1647-
16481541
class float8_e5m2x4: ...
1649-
16501542
class float8_e5m2x8: ...
1651-
16521543
class float8_e5m2x16: ...
1653-
16541544
class float8_e5m2x32: ...
1655-
16561545
class float8_e5m2x64: ...
1657-
16581546
class float8_e5m2fnuz: ...
1659-
16601547
class float8_e5m2fnuzx2: ...
1661-
16621548
class float8_e5m2fnuzx4: ...
1663-
16641549
class float8_e5m2fnuzx8: ...
1665-
16661550
class float8_e5m2fnuzx16: ...
1667-
16681551
class float8_e5m2fnuzx32: ...
1669-
16701552
class float8_e5m2fnuzx64: ...
1671-
16721553
class float8_e8m0fnu: ...
1673-
16741554
class float8_e8m0fnux2: ...
1675-
16761555
class float8_e8m0fnux4: ...
1677-
16781556
class float8_e8m0fnux8: ...
1679-
16801557
class float8_e8m0fnux16: ...
1681-
16821558
class float8_e8m0fnux32: ...
1683-
16841559
class float8_e8m0fnux64: ...
1685-
16861560
class float6_e2m3fn: ...
1687-
16881561
class float6_e2m3fnx2: ...
1689-
16901562
class float6_e2m3fnx4: ...
1691-
16921563
class float6_e2m3fnx8: ...
1693-
16941564
class float6_e2m3fnx16: ...
1695-
16961565
class float6_e2m3fnx32: ...
1697-
16981566
class float6_e2m3fnx64: ...
1699-
17001567
class float6_e3m2fn: ...
1701-
17021568
class float6_e3m2fnx2: ...
1703-
17041569
class float6_e3m2fnx4: ...
1705-
17061570
class float6_e3m2fnx8: ...
1707-
17081571
class float6_e3m2fnx16: ...
1709-
17101572
class float6_e3m2fnx32: ...
1711-
17121573
class float6_e3m2fnx64: ...
1713-
17141574
class float4_e2m1fn: ...
1715-
17161575
class float4_e2m1fnx2: ...
1717-
17181576
class float4_e2m1fnx4: ...
1719-
17201577
class float4_e2m1fnx8: ...
1721-
17221578
class float4_e2m1fnx16: ...
1723-
17241579
class float4_e2m1fnx32: ...
1725-
17261580
class float4_e2m1fnx64: ...
1727-
17281581
class bfloat16: ...
1729-
17301582
class bfloat16x2: ...
1731-
17321583
class bfloat16x4: ...
1733-
17341584
class bfloat16x8: ...
1735-
17361585
class bfloat16x16: ...
1737-
17381586
class bfloat16x32: ...
1739-
17401587
class bfloat16x64: ...
17411588
class tfloat32: ...
17421589
class tfloat32x2: ...

src/runtime/metal/metal_module.mm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,13 @@ void WriteToFile(const ffi::String& file_name, const ffi::String& format) const
103103

104104
if (fmt_ == "metal") {
105105
MTLCompileOptions* opts = [MTLCompileOptions alloc];
106+
#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
106107
opts.languageVersion = MTLLanguageVersion4_0;
108+
#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 140000
109+
opts.languageVersion = MTLLanguageVersion3_1;
110+
#else
111+
opts.languageVersion = MTLLanguageVersion3_0;
112+
#endif
107113
opts.fastMathEnabled = YES;
108114
// opts = nil;
109115
lib =

0 commit comments

Comments
 (0)