SkellySim is a simulation package for simulating cellular components such as flexible filaments, motor proteins, and arbitrary rigid bodies. It's designed to be highly scalable, capable of both OpenMP and MPI style parallelism, while using the efficient STKFMM/PVFMM libraries for hydrodynamic resolution.
Flatiron users should read Installation/Running at FI first,
since users there should not have to install the C++
portion themselves.
There are (currently) two components to skelly_sim, the python portion, and the actual binary. The python portion is mostly for visualization, as well as generating config files and precompute data. The binary (C++) portion is for actually running the simulation.
To install the python portion (in your virtual environment, conda environment, or using the pip3 --user
option). For a virtualenv
module load python
python3 -m venv /path/to/my/virtualenv
source /path/to/my/virtualenv/bin/activate
pip3 install git+https://github.com/flatironinstitute/SkellySim
or for a conda environment
conda create -n myenvname
conda activate myenvname
pip3 install git+https://github.com/flatironinstitute/SkellySim
Due to the complex dependencies of the C++ portion, until I finish packaging things, you can use my modules.
module -q purge
# REMOVE python module from this if you are using conda!!!!
module use ~rblackwell/modules
module -q load gcc/11 openmpi python trilinos pvfmm/1.3.0 intel-oneapi-mkl cuda flexiblas skelly_sim
module -q purge
module -q load gcc/11 openmpi python cmake trilinos pvfmm stkfmm intel-oneapi-mkl cuda boost flexiblas
git clone https://github.com/flatironinstitute/SkellySim
cd SkellySim
git submodule update --init --recursive
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-march=broadwell -DCMAKE_CUDA_ARCHITECTURES="70;75;86;90" -DBLA_VENDOR=FlexiBLAS
make -j$((2*$(nproc)))