Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 3 additions & 8 deletions python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@
import sys

from utils import (
BuildConfig,
run,
create_build_config,
override_build_config_from_env,
)

Expand All @@ -92,11 +92,8 @@ def version_tag(config):


def main():
# Parse arguments using argparse
# Use argparse to create description of arguments from command line
config, forward_args = create_build_config()

# Override build config from environment variables
config = BuildConfig()
# Override build config from environment variables.
override_build_config_from_env(config)

if "clean" in sys.argv:
Expand All @@ -106,8 +103,6 @@ def main():
if config.cpp_standard < 20:
raise ValueError("nvfuser requires C++20 standard or higher")

sys.argv = [sys.argv[0]] + forward_args

run(config, version_tag(config), relative_path="..")


Expand Down
175 changes: 0 additions & 175 deletions python/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause

import argparse
import os
import multiprocessing
import subprocess
Expand Down Expand Up @@ -50,180 +49,6 @@ def get_env_flag_bool(name: str) -> bool:
return os.getenv(name).upper() in ["ON", "1", "YES", "TRUE", "Y"]


def parse_args():
parser = argparse.ArgumentParser(
description="NVFUSER build options", add_help=False
)

# Add arguments that don't go to setuptools
parser.add_argument(
"--cmake-only",
dest="cmake_only",
action="store_true",
help="Only generate ./build directory with cmake setup",
)
parser.add_argument(
"--no-python",
dest="no_python",
action="store_true",
help="Skips python API target libnvfuser.so",
)
parser.add_argument(
"--no-cutlass",
dest="no_cutlass",
action="store_true",
help="Skips building cutlass kernels",
)
parser.add_argument(
"--no-test",
dest="no_test",
action="store_true",
help="Skips cpp tests test_nvfuser",
)
parser.add_argument(
"--no-benchmark",
dest="no_benchmark",
action="store_true",
help="Skips benchmark target nvfuser_bench",
)
parser.add_argument(
"--no-ninja",
dest="no_ninja",
action="store_true",
help="Use make instead of ninja for build",
)
parser.add_argument(
"--build-with-ucc",
dest="build_with_ucc",
action="store_true",
help="Build nvfuser with UCC support",
)
parser.add_argument(
"--explicit-error-check",
dest="explicit_error_check",
action="store_true",
help="Enable explicit error checking",
)
parser.add_argument(
"--build-with-asan",
dest="build_with_asan",
action="store_true",
help="Build with Address Sanitizer",
)
parser.add_argument(
"--build-without-distributed",
dest="build_without_distributed",
action="store_true",
help="Build nvfuser without multidevice support",
)
parser.add_argument(
"--no-system-nvtx",
dest="no_system_nvtx",
action="store_true",
help="Disable system NVTX",
)
parser.add_argument(
"--debug",
dest="debug_mode",
action="store_true",
help="Building nvfuser in debug mode",
)
parser.add_argument(
"--debinfo",
dest="debinfo_mode",
action="store_true",
help="Building nvfuser in release mode with debug info",
)
parser.add_argument(
"--build-dir",
dest="build_dir",
type=str,
default="",
help="Specify in which directory to build nvfuser",
)
parser.add_argument(
"--install-dir",
dest="install_dir",
type=str,
default="",
help="Specify in which directory to install nvfuser",
)
parser.add_argument(
"-install_requires",
dest="install_requires",
type=str,
help="Specify package required for installation",
)
parser.add_argument(
"--extras_require",
dest="extras_require",
type=str,
help="Specify extra requirements",
)
parser.add_argument(
"-version-tag",
dest="version_tag",
type=str,
help="Specify the tag for build nvfuser version",
)
parser.add_argument(
"-wheel-name",
dest="wheel_name",
type=str,
default="nvfuser",
help="Specify the wheel name",
)
parser.add_argument(
"--cpp",
dest="cpp_standard",
type=int,
help="Specify the C++ standard to use",
default=20,
)

# Use parse_known_args to separate our arguments from setuptools arguments
args, forward_args = parser.parse_known_args()
return args, forward_args


# Create BuildConfig using argparse
def create_build_config():
# Parse arguments and set global variables accordingly
args, forward_args = parse_args()

# Create a BuildConfig from args
config = BuildConfig(
cmake_only=args.cmake_only,
no_python=args.no_python,
no_cutlass=args.no_cutlass,
no_test=args.no_test,
no_benchmark=args.no_benchmark,
no_ninja=args.no_ninja,
build_with_ucc=args.build_with_ucc,
build_with_asan=args.build_with_asan,
build_without_distributed=args.build_without_distributed,
explicit_error_check=args.explicit_error_check,
wheel_name=args.wheel_name,
build_dir=args.build_dir,
install_dir=args.install_dir,
cpp_standard=args.cpp_standard,
)

# Apply remaining options
if args.debug_mode:
config.build_type = "Debug"
if args.debinfo_mode:
config.build_type = "RelwithDebInfo"
if args.install_requires:
config.install_requires = args.install_requires.split(",")
if args.extras_require:
config.extras_require = eval(args.extras_require)
if args.version_tag:
config.version_tag = args.version_tag
config.overwrite_version = True
return config, forward_args


# Override BuildConfig with environment variables. Only change if variable
# exists. Do not use default to override argparse.
def override_build_config_from_env(config):
Expand Down
107 changes: 0 additions & 107 deletions setup.py

This file was deleted.

Loading