Skip to content

Commit 82efb6b

Browse files
Manually set isa version pre CUDA 13.0
1 parent 26548bd commit 82efb6b

File tree

1 file changed

+61
-96
lines changed

1 file changed

+61
-96
lines changed

llvm/test/lit.cfg.py

Lines changed: 61 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,66 @@ def ptxas_supported_isa_versions(ptxas):
316316
versions.append((int(match.group(1)), int(match.group(2))))
317317
return versions
318318

319+
def ptxas_add_isa_features(major_version, minor_version):
320+
supported_isa_versions = ptxas_supported_isa_versions(ptxas_executable)
321+
if supported_isa_versions:
322+
for major_version, minor_version in supported_isa_versions:
323+
config.available_features.add(
324+
"ptxas(isa-{}.{})".format(major_version, minor_version)
325+
)
326+
return
327+
if major_version >= 13:
328+
raise RuntimeError("ptxas {} does not support ISA version listing".format(ptxas_executable))
329+
# Use a more pythonic approach: define a list of (major, minor, feature) tuples and iterate.
330+
isa_features = [
331+
(12, 9, "ptxas(isa-8.8)"),
332+
(12, 8, "ptxas(isa-8.7)"),
333+
(12, 7, "ptxas(isa-8.6)"),
334+
(12, 6, "ptxas(isa-8.5)"),
335+
(12, 5, "ptxas(isa-8.5)"),
336+
(12, 4, "ptxas(isa-8.4)"),
337+
(12, 3, "ptxas(isa-8.3)"),
338+
(12, 2, "ptxas(isa-8.2)"),
339+
(12, 1, "ptxas(isa-8.1)"),
340+
(12, 0, "ptxas(isa-8.0)"),
341+
(11, 8, "ptxas(isa-7.8)"),
342+
(11, 7, "ptxas(isa-7.7)"),
343+
(11, 6, "ptxas(isa-7.6)"),
344+
(11, 5, "ptxas(isa-7.5)"),
345+
(11, 4, "ptxas(isa-7.4)"),
346+
(11, 3, "ptxas(isa-7.3)"),
347+
(11, 2, "ptxas(isa-7.2)"),
348+
(11, 1, "ptxas(isa-7.1)"),
349+
(11, 0, "ptxas(isa-7.0)"),
350+
(10, 2, "ptxas(isa-6.5)"),
351+
(10, 1, "ptxas(isa-6.4)"),
352+
(10, 0, "ptxas(isa-6.3)"),
353+
(9, 2, "ptxas(isa-6.2)"),
354+
(9, 1, "ptxas(isa-6.1)"),
355+
(9, 0, "ptxas(isa-6.0)"),
356+
(8, 0, "ptxas(isa-5.0)"),
357+
(7, 5, "ptxas(isa-4.3)"),
358+
(7, 0, "ptxas(isa-4.2)"),
359+
(6, 5, "ptxas(isa-4.1)"),
360+
(6, 0, "ptxas(isa-4.0)"),
361+
(5, 5, "ptxas(isa-3.2)"),
362+
(5, 0, "ptxas(isa-3.1)"),
363+
(4, 1, "ptxas(isa-3.0)"),
364+
(4, 0, "ptxas(isa-2.3)"),
365+
(3, 2, "ptxas(isa-2.2)"),
366+
(3, 1, "ptxas(isa-2.1)"),
367+
(3, 0, "ptxas(isa-2.0)"),
368+
(3, 0, "ptxas(isa-1.5)"),
369+
(2, 2, "ptxas(isa-1.4)"),
370+
(2, 1, "ptxas(isa-1.3)"),
371+
(2, 0, "ptxas(isa-1.2)"),
372+
(1, 1, "ptxas(isa-1.1)"),
373+
(1, 0, "ptxas(isa-1.0)"),
374+
]
375+
for major, minor, feature in isa_features:
376+
if major_version >= major and minor_version >= minor:
377+
config.available_features.add(feature)
378+
319379

320380
def ptxas_supported_sms(ptxas_executable):
321381
result = subprocess.run(
@@ -356,102 +416,7 @@ def enable_ptxas(ptxas_executable):
356416
major_version, minor_version = ptxas_version(ptxas_executable)
357417
config.available_features.add("ptxas-{}.{}".format(major_version, minor_version))
358418

359-
supported_isa_versions = ptxas_supported_isa_versions(ptxas_executable)
360-
if supported_isa_versions:
361-
for major_version, minor_version in supported_isa_versions:
362-
config.available_features.add(
363-
"ptxas(isa-{}.{})".format(major_version, minor_version)
364-
)
365-
else:
366-
if major_version >= 13:
367-
raise RuntimeError("ptxas {} does not support ISA version listing".format(ptxas_executable))
368-
if major_version >= 12 and minor_version >= 9:
369-
config.available_features.add("ptxas(isa-8.8)")
370-
if major_version >= 12 and minor_version >= 8:
371-
config.available_features.add("ptxas(isa-8.7)")
372-
if major_version >= 12 and minor_version >= 7:
373-
config.available_features.add("ptxas(isa-8.6)")
374-
if major_version >= 12 and minor_version >= 6:
375-
config.available_features.add("ptxas(isa-8.5)")
376-
if major_version >= 12 and minor_version >= 5:
377-
config.available_features.add("ptxas(isa-8.5)")
378-
if major_version >= 12 and minor_version >= 4:
379-
config.available_features.add("ptxas(isa-8.4)")
380-
if major_version >= 12 and minor_version >= 3:
381-
config.available_features.add("ptxas(isa-8.3)")
382-
if major_version >= 12 and minor_version >= 2:
383-
config.available_features.add("ptxas(isa-8.2)")
384-
if major_version >= 12 and minor_version >= 1:
385-
config.available_features.add("ptxas(isa-8.1)")
386-
if major_version >= 12 and minor_version >= 0:
387-
config.available_features.add("ptxas(isa-8.0)")
388-
if major_version >= 11 and minor_version >= 8:
389-
config.available_features.add("ptxas(isa-7.8)")
390-
if major_version >= 11 and minor_version >= 7:
391-
config.available_features.add("ptxas(isa-7.7)")
392-
if major_version >= 11 and minor_version >= 6:
393-
config.available_features.add("ptxas(isa-7.6)")
394-
if major_version >= 11 and minor_version >= 5:
395-
config.available_features.add("ptxas(isa-7.5)")
396-
if major_version >= 11 and minor_version >= 4:
397-
config.available_features.add("ptxas(isa-7.4)")
398-
if major_version >= 11 and minor_version >= 3:
399-
config.available_features.add("ptxas(isa-7.3)")
400-
if major_version >= 11 and minor_version >= 2:
401-
config.available_features.add("ptxas(isa-7.2)")
402-
if major_version >= 11 and minor_version >= 1:
403-
config.available_features.add("ptxas(isa-7.1)")
404-
if major_version >= 11 and minor_version >= 0:
405-
config.available_features.add("ptxas(isa-7.0)")
406-
if major_version >= 10 and minor_version >= 2:
407-
config.available_features.add("ptxas(isa-6.5)")
408-
if major_version >= 10 and minor_version >= 1:
409-
config.available_features.add("ptxas(isa-6.4)")
410-
if major_version >= 10 and minor_version >= 0:
411-
config.available_features.add("ptxas(isa-6.3)")
412-
if major_version >= 9 and minor_version >= 2:
413-
config.available_features.add("ptxas(isa-6.2)")
414-
if major_version >= 9 and minor_version >= 1:
415-
config.available_features.add("ptxas(isa-6.1)")
416-
if major_version >= 9 and minor_version >= 0:
417-
config.available_features.add("ptxas(isa-6.0)")
418-
if major_version >= 8 and minor_version >= 0:
419-
config.available_features.add("ptxas(isa-5.0)")
420-
if major_version >= 7 and minor_version >= 5:
421-
config.available_features.add("ptxas(isa-4.3)")
422-
if major_version >= 7 and minor_version >= 0:
423-
config.available_features.add("ptxas(isa-4.2)")
424-
if major_version >= 6 and minor_version >= 5:
425-
config.available_features.add("ptxas(isa-4.1)")
426-
if major_version >= 6 and minor_version >= 0:
427-
config.available_features.add("ptxas(isa-4.0)")
428-
if major_version >= 5 and minor_version >= 5:
429-
config.available_features.add("ptxas(isa-3.2)")
430-
if major_version >= 5 and minor_version >= 0:
431-
config.available_features.add("ptxas(isa-3.1)")
432-
if major_version >= 4 and minor_version >= 2:
433-
config.available_features.add("ptxas(isa-3.0)")
434-
if major_version >= 4 and minor_version >= 1:
435-
config.available_features.add("ptxas(isa-3.0)")
436-
if major_version >= 4 and minor_version >= 0:
437-
config.available_features.add("ptxas(isa-2.3)")
438-
if major_version >= 3 and minor_version >= 2:
439-
config.available_features.add("ptxas(isa-2.2)")
440-
if major_version >= 3 and minor_version >= 1:
441-
config.available_features.add("ptxas(isa-2.1)")
442-
if major_version >= 3 and minor_version >= 0:
443-
config.available_features.add("ptxas(isa-2.0)")
444-
config.available_features.add("ptxas(isa-1.5)")
445-
if major_version >= 2 and minor_version >= 2:
446-
config.available_features.add("ptxas(isa-1.4)")
447-
if major_version >= 2 and minor_version >= 1:
448-
config.available_features.add("ptxas(isa-1.3)")
449-
if major_version >= 2 and minor_version >= 0:
450-
config.available_features.add("ptxas(isa-1.2)")
451-
if major_version >= 1 and minor_version >= 1:
452-
config.available_features.add("ptxas(isa-1.1)")
453-
if major_version >= 1 and minor_version >= 0:
454-
config.available_features.add("ptxas(isa-1.0)")
419+
ptxas_add_isa_features(major_version, minor_version)
455420

456421
for sm in ptxas_supported_sms(ptxas_executable):
457422
config.available_features.add("ptxas(sm_{})".format(sm))

0 commit comments

Comments
 (0)