ViennaLS
Loading...
Searching...
No Matches
install_ViennaLS Namespace Reference

Functions

 run (cmd, **kwargs)
 run_capture (cmd, **kwargs)
str which_or_fail (str name)
 parse_nvcc_version ()
list[str]|None determine_required_gcc (int nvcc_major, int nvcc_minor)
tuple[int, int]|None get_default_gcc_version ()
 ensure_cuda ()
 ensure_compilers ()
 venv_paths (Path venv_dir)
 create_or_reuse_venv (Path venv_dir)
Path get_viennals_dir ()
 install_viennals (Path pip_path, Path viennals_dir, bool gpu, bool debug, bool verbose)
 main ()

Variables

int REQUIRED_NVCC_MAJOR = 12
str IS_WINDOWS = "nt"
 IS_LINUX = sys.platform.startswith("linux")
 OS_NAME = platform.system()
list REQUIRED_GCC = None

Detailed Description

Build and install ViennaLS with GPU-accelerated BiCGSTAB support.

The GPU solver requires CUDA 12+ and a compatible GCC version on Linux.
A virtual environment is created (or reused) and ViennaLS is installed into it.
The script auto-detects the ViennaLS source directory from its own location
(ViennaLS/python/scripts/install_ViennaLS.py → repo root is ../../).

Usage:
    python python/scripts/install_ViennaLS.py          # GPU build (default)
    python python/scripts/install_ViennaLS.py --no-gpu # CPU-only build

Function Documentation

◆ create_or_reuse_venv()

install_ViennaLS.create_or_reuse_venv ( Path venv_dir)

◆ determine_required_gcc()

list[str] | None install_ViennaLS.determine_required_gcc ( int nvcc_major,
int nvcc_minor )

◆ ensure_compilers()

install_ViennaLS.ensure_compilers ( )

◆ ensure_cuda()

install_ViennaLS.ensure_cuda ( )

◆ get_default_gcc_version()

tuple[int, int] | None install_ViennaLS.get_default_gcc_version ( )

◆ get_viennals_dir()

Path install_ViennaLS.get_viennals_dir ( )

◆ install_viennals()

install_ViennaLS.install_viennals ( Path pip_path,
Path viennals_dir,
bool gpu,
bool debug,
bool verbose )

◆ main()

install_ViennaLS.main ( )

◆ parse_nvcc_version()

install_ViennaLS.parse_nvcc_version ( )

◆ run()

install_ViennaLS.run ( cmd,
** kwargs )

◆ run_capture()

install_ViennaLS.run_capture ( cmd,
** kwargs )

◆ venv_paths()

install_ViennaLS.venv_paths ( Path venv_dir)

◆ which_or_fail()

str install_ViennaLS.which_or_fail ( str name)

Variable Documentation

◆ IS_LINUX

install_ViennaLS.IS_LINUX = sys.platform.startswith("linux")

◆ IS_WINDOWS

str install_ViennaLS.IS_WINDOWS = "nt"

◆ OS_NAME

install_ViennaLS.OS_NAME = platform.system()

◆ REQUIRED_GCC

list install_ViennaLS.REQUIRED_GCC = None

◆ REQUIRED_NVCC_MAJOR

int install_ViennaLS.REQUIRED_NVCC_MAJOR = 12