import pytest
import tempfile
def pytest_addoption(parser):
parser.addoption("--device", action="store", default="cuda")
@pytest.fixture
def device(request):
return request.config.getoption("--device")
@pytest.fixture
def fresh_knobs():
from triton._internal_testing import _fresh_knobs_impl
fresh_function, reset_function = _fresh_knobs_impl()
try:
yield fresh_function()
finally:
reset_function()
@pytest.fixture
def fresh_triton_cache():
with tempfile.TemporaryDirectory() as tmpdir:
from triton import knobs
with knobs.cache.scope(), knobs.runtime.scope():
knobs.cache.dir = tmpdir
yield tmpdir