mirror of
https://github.com/andreinechaev/nvcc4jupyter.git
synced 2026-06-14 03:00:47 +05:30
61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
import glob
|
|
import os
|
|
import sys
|
|
|
|
sys.path.append(".")
|
|
|
|
import pytest
|
|
from IPython.core.interactiveshell import InteractiveShell
|
|
|
|
from v1.v1 import NVCCPlugin
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def shell():
|
|
return InteractiveShell()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def plugin(shell: InteractiveShell):
|
|
return NVCCPlugin(shell=shell)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def tests_path():
|
|
return "tests"
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def fixtures_path(tests_path):
|
|
return os.path.join(tests_path, "fixtures")
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def sample_magic_cu_line():
|
|
# fmt: off
|
|
return '--profile --profiler-args "--metrics l1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum"'
|
|
# fmt: on
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def sample_cuda_fpath(fixtures_path: str):
|
|
return os.path.join(fixtures_path, "single_file", "hello.cu")
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def sample_cuda_code(sample_cuda_fpath: str):
|
|
with open(sample_cuda_fpath, "r", encoding="utf-8") as f:
|
|
return f.read()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def timeit_regex():
|
|
return r".+ ± .+ per loop \(mean ± std. dev. of .+ runs, .+ loops each\)"
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def multiple_source_fpaths(fixtures_path: str):
|
|
pattern_h = os.path.join(fixtures_path, "multiple_files", "*.h")
|
|
pattern_cu = os.path.join(fixtures_path, "multiple_files", "*.cu")
|
|
return list(glob.glob(pattern_h)) + list(glob.glob(pattern_cu))
|