# Copyright Advanced Micro Devices, Inc., or its affiliates. # SPDX-License-Identifier: MIT [build-system] requires = [ "scikit-build-core>=0.5", "nanobind>=2.0.0" ] build-backend = "scikit_build_core.build" # NOTE: Building this package requires ROCm/HIP to be installed on your system. # ROCm cannot be installed via pip and must be installed separately. # See: https://rocm.docs.amd.com/en/latest/deploy/linux/quick_start.html # Ensure CMAKE_PREFIX_PATH includes ROCm (default: /opt/rocm) [project] name = "origami" dynamic = ["version"] description = "Analytical GEMM Solution Selection" readme = "../README.md" requires-python = ">=3.9" license = {text = "MIT"} authors = [ {name = "Advanced Micro Devices, Inc."} ] dependencies = [ "nanobind>=2.0.0", ] [project.optional-dependencies] test = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "pyyaml>=6.0", ] torch = ["torch>=2.0.0"] [tool.scikit-build] wheel.packages = ["src/origami"] cmake.version = ">=3.25" build.verbose = true # CMake source directory - use current directory (python/) which contains CMakeLists.txt # The python/CMakeLists.txt will automatically build origami from parent directory cmake.source-dir = "." # CMake arguments # CMAKE_PREFIX_PATH and CMAKE_CXX_COMPILER should be set via environment variables # or passed via CMAKE_ARGS environment variable cmake.args = [ "-DCMAKE_BUILD_TYPE:STRING=Release", ] # CMake defines - these can be overridden via environment # CMAKE_PREFIX_PATH will be used by python/CMakeLists.txt cmake.define = { } # Dynamic version from __init__.py metadata.version.provider = "scikit_build_core.metadata.regex" metadata.version.input = "src/origami/__init__.py" metadata.version.regex = '^__version__\s*=\s*["\x27](?P[^"\x27]+)["\x27]' sdist.exclude = [ "../../*", "../*", "*.md", "*.sh", "build/*", "*.egg-info/*", ] wheel.exclude = [ "../../*", "../*", "*.md", "*.sh", "tests/*", ] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests that require hardware", "regression: marks tests as ranking regression tests", ] addopts = [ "-ra", "--strict-markers", ]