IFE Surrogate¶
IFE Surrogate is a modular Gaussian Process library designed for surrogate model training of electric circuits. It provides a flexible interface for defining kernels, training models, and generating surrogate predictions with ease.
Installation¶
ife-surrogate can be installed on Linux, macOS, and Windows. Because this library relies on JAX for high-performance computations, we recommend setting up your environment first to ensure hardware acceleration (GPU/TPU) is correctly configured.
Basic Installation (CPU)¶
For standard use on a laptop or CPU-bound server, you can install everything via pip:
# Upgrade pip and install JAX (CPU version)
pip install --upgrade pip
pip install --upgrade "jax[cpu]"
# Install the library
pip install ife-surrogate
Conda Installation (Recommended)¶
If you prefer managing your environment with Conda or Mamba, use the conda-forge channel which provides a community-supported JAX build:
# Create a new environment
conda create -n ife_env python=3.10
conda activate ife_env
# Install JAX from conda-forge
conda install -c conda-forge jax
# Install the library via pip
pip install ife-surrogate
GPU Installation (NVIDIA)¶
To leverage NVIDIA GPUs, JAX requires specific CUDA and cuDNN versions. It is highly recommended to install JAX with GPU support before installing ife-surrogate.
Via Pip:
# For CUDA 12 support
pip install --upgrade "jax[cuda12]"
pip install ife-surrogate
Via Conda:
# This installs jaxlib with the necessary CUDA toolkit
conda install -c conda-forge "jaxlib=*=*cuda*" jax
pip install ife-surrogate
Verify Installation¶
After installing, you can verify that the library and JAX are seeing your hardware correctly:
import jax
import ife_surrogate
print(f"JAX version: {jax.__version__}")
print(f"Devices detected: {jax.devices()}")
Support¶
License¶
The software is provided under the MIT License.