Multiple updates and refactorings (#231)

This commit is contained in:
Ray Wang
2025-11-21 17:49:47 +08:00
committed by GitHub
parent bb4424aad4
commit 38f8ef73a4
80 changed files with 3767 additions and 2103 deletions
+38
View File
@@ -0,0 +1,38 @@
import functools
import os
import torch
from typing import Callable
def get_arch_major() -> int:
major, minor = torch.cuda.get_device_capability()
return major
def test_filter(condition: Callable):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
if condition():
func(*args, **kwargs)
else:
print(f'{func.__name__}:')
print(f' > Filtered by {condition}')
print()
return wrapper
return decorator
def ignore_env(name: str, condition: Callable):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
if condition():
saved = os.environ.pop(name, None)
func(*args, **kwargs)
if saved is not None:
os.environ[name] = saved
else:
func(*args, **kwargs)
return wrapper
return decorator