Installation

At this time, NetSci has only been tested on Linux systems. Therefore, all installation instructions are for Linux only.

NetSci is designed with a focus on ease of installation and long-term stability, ensuring compatibility with Linux systems featuring CUDA-capable GPUs (compute capability 3.5 and above). It leverages well-supported core C++ and Python libraries to maintain simplicity and reliability.

Download Miniconda Installation Script:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

Execute the Installation Script:

bash Miniconda3-latest-Linux-x86_64.sh

Update Environment Settings:

source ~/.bashrc

Install Git with Conda:

conda install -c conda-forge git

Clone the NetSci Repository:

git clone https://github.com/netscianalysis/netsci.git

Navigate to the NetSci Root Directory:

cd netsci

Create NetSci Conda Environment:

conda env create -f netsci.yml

Activate NetSci Conda Environment:

conda activate netsci

Create CMake Build Directory:

mkdir build

Set NetSci Root Directory Variable:

NETSCI_ROOT=$(pwd)

Navigate to the CMake Build Directory:

cd ${NETSCI_ROOT}/build

Compile CUDA Architecture Script:

nvcc ${NETSCI_ROOT}/build_scripts/cuda_architecture.cu -o cuda_architecture

Set CUDA Architecture Variable:

CUDA_ARCHITECTURE=$(./cuda_architecture)

Configure the Build with CMake:

cmake .. -DCONDA_DIR=$CONDA_PREFIX -DCUDA_ARCHITECTURE=${CUDA_ARCHITECTURE}

Build NetSci:

cmake --build . -j

Build NetSci Python Interface:

make python

Test C++ and CUDA Backend:

ctest

Run Python Interface Tests:

cd ${NETSCI_ROOT}
pytest