|
ViennaLS
|
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 |
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
| install_ViennaLS.create_or_reuse_venv | ( | Path | venv_dir | ) |
| list[str] | None install_ViennaLS.determine_required_gcc | ( | int | nvcc_major, |
| int | nvcc_minor ) |
| install_ViennaLS.ensure_compilers | ( | ) |
| install_ViennaLS.ensure_cuda | ( | ) |
| tuple[int, int] | None install_ViennaLS.get_default_gcc_version | ( | ) |
| Path install_ViennaLS.get_viennals_dir | ( | ) |
| install_ViennaLS.install_viennals | ( | Path | pip_path, |
| Path | viennals_dir, | ||
| bool | gpu, | ||
| bool | debug, | ||
| bool | verbose ) |
| install_ViennaLS.main | ( | ) |
| install_ViennaLS.parse_nvcc_version | ( | ) |
| install_ViennaLS.run | ( | cmd, | |
| ** | kwargs ) |
| install_ViennaLS.run_capture | ( | cmd, | |
| ** | kwargs ) |
| install_ViennaLS.venv_paths | ( | Path | venv_dir | ) |
| str install_ViennaLS.which_or_fail | ( | str | name | ) |
| install_ViennaLS.IS_LINUX = sys.platform.startswith("linux") |
| str install_ViennaLS.IS_WINDOWS = "nt" |
| install_ViennaLS.OS_NAME = platform.system() |
| list install_ViennaLS.REQUIRED_GCC = None |
| int install_ViennaLS.REQUIRED_NVCC_MAJOR = 12 |