Installation
Choose the installation method that best fits your environment.
- Pip (Recommended)
- Conda
- Docker
- Spack
The pip package is the easiest way to get CLIO Core. It ships a portable, self-contained build with everything statically linked, so no system dependencies are required beyond a standard C/C++ runtime (glibc) and Python 3.10+.
pip install iowarp-core
Verify the installation:
import iowarp_core
print(iowarp_core.get_version())
Start the Runtime
The package installs the clio_run CLI on your PATH:
clio_run start
A default ~/.clio/clio.yaml is seeded on first import so the runtime
works out of the box. See the Quick Start for the next
steps.
What's Included
The pip wheel ships the portable feature set:
- Python API —
import iowarp_coreandimport clio_ceefor the Context Exploration Engine - CLI —
clio_runcommand for runtime management - Core engines — CLIO Runtime, CTE, CAE, CEE
- Shared libraries — every CLIO Runtime library bundled in the wheel; no system installs needed
When You'll Need a Source Build
Newer extensions and advanced/accelerated features are not in the portable wheel. Switch to one of the source-build methods below if you need:
- NVIDIA GPU (CUDA) or AMD GPU (ROCm) acceleration
- MPI for distributed multi-node deployment
- HDF5 scientific data ingestion
- ADIOS2 adapter for streaming analytics
- Compression backends (LibPressio, Blosc, etc.)
- FUSE adapter
- Custom ChiMods you intend to compile against the C++ headers
- Sanitizer / debug builds for development
The Conda installer builds CLIO Core from source with all optional components enabled. It is the fastest path to a full-featured build that includes GPU, MPI, HDF5, and adapter support.
git clone --recurse-submodules https://github.com/iowarp/clio-core.git
cd clio-core
./install.sh
Activate the environment in every new terminal:
conda activate iowarp
Build Variants
Pass a variant name to enable additional features:
| Variant | Command | What it enables |
|---|---|---|
| Release (default) | ./install.sh | CPU-only, all engines |
| Debug | ./install.sh debug | Debug symbols, sanitizers |
| CUDA | ./install.sh cuda | NVIDIA GPU acceleration |
| ROCm | ./install.sh rocm | AMD GPU acceleration |
| MPI | ./install.sh mpi | Distributed multi-node |
| Full | ./install.sh full | CUDA + MPI + everything |
| FUSE | ./install.sh release-fuse | FUSE adapter for POSIX |
Verify the installation
conda activate iowarp
clio_run --help
Pull and run the CLIO Core Docker image:
docker pull iowarp/deploy-cpu:latest
Run the container:
docker run -d -p 9413:9413 --memory=8g --name iowarp iowarp/deploy-cpu:latest clio_run start
Using Docker Compose
Create a docker-compose.yml:
services:
iowarp:
image: iowarp/deploy-cpu:latest
container_name: iowarp
hostname: iowarp
volumes:
- ./clio.yaml:/home/iowarp/.clio/clio.yaml:ro
ports:
- "9413:9413"
mem_limit: 8g
command: ["clio_run", "start"]
restart: unless-stopped
Start the service:
docker compose up -d
CLIO Core uses memfd_create() for shared memory, so no special /dev/shm configuration is needed. Only mem_limit matters for resource control. See the Configuration Reference for details.
- Install Spack (v0.22.3+ recommended):
git clone https://github.com/spack/spack.git -b v0.22.3
cd spack
. share/spack/setup-env.sh
echo ". ${PWD}/share/spack/setup-env.sh" >> ~/.bashrc
- Add the IOWarp Spack repository (included in this repo):
git clone --recurse-submodules https://github.com/iowarp/clio-core.git
cd clio-core
spack repo add installers/spack
- Install CLIO Core:
spack install iowarp
Next Steps
- Quick Start Tutorial — Start the runtime and run your first example
- Configuration Reference — Customize your deployment
- CLIO Kit — Explore MCP servers for AI agents