URI:
       docs: describe OpenMP CPU backend build and usage - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
   DIR commit ae2babe0ed346ec9590f87deef5f5fdf8ac4c24c
   DIR parent 8445fdaa62d4b38157b8aabcdefee867229566f0
  HTML Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Sat,  4 Jul 2026 23:46:51 +0200
       
       docs: describe OpenMP CPU backend build and usage
       
       Diffstat:
         M INSTALL.sh                          |       9 +++++++++
         M README.rst                          |      15 +++++++++++++--
       
       2 files changed, 22 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/INSTALL.sh b/INSTALL.sh
       @@ -1,2 +1,11 @@
       +# CUDA backend (default). Requires the CUDA toolkit and an Nvidia GPU.
        export NVSDKCOMPUTE_ROOT=/home/adc/NVIDIA_CUDA-5.0_Samples
        cmake . && make
       +
       +# OpenMP CPU backend. No CUDA required; runs on any multi-core CPU.
       +# On macOS with Apple clang, install the OpenMP runtime first:
       +#   brew install libomp
       +# Build with:
       +#   cmake -DSPHERE_GPU=OFF . && make
       +# Control the thread count and pinning at runtime with:
       +#   OMP_NUM_THREADS=8 OMP_PROC_BIND=true ./sphere <input>
   DIR diff --git a/README.rst b/README.rst
       @@ -5,9 +5,20 @@ sphere readme
        allows for optional simulation of two-way coupled fluid flow using the
        Navier-Stokes or Darcy formulations.
        
       +Two computational backends are available from the same code base:
       +
       +- **CUDA** (default): ``cmake . && make``. Requires the CUDA toolkit and an
       +  Nvidia GPU with proper support for double precision floating point.
       +- **OpenMP CPU**: ``cmake -DSPHERE_GPU=OFF . && make``. Runs on any multi-core
       +  CPU, including arm64 macOS. On macOS with Apple clang, install the OpenMP
       +  runtime first with ``brew install libomp``. Select the number of threads at
       +  runtime with the ``OMP_NUM_THREADS`` environment variable, and consider
       +  setting ``OMP_PROC_BIND=true`` for thread pinning. The raytracer
       +  (``sphere --render``) is only available with the CUDA backend.
       +
        A powerful Nvidia GPU with proper support for double precision floating is
       -highly recommended. ``sphere`` has been tested with Nvidia Tesla GPUs, and has 
       -successfully been employed on the clusters `Grendel 
       +highly recommended. ``sphere`` has been tested with Nvidia Tesla GPUs, and has
       +successfully been employed on the clusters `Grendel
        <https://www.cscaa.dk/grendel/hardware/>`_ (Aarhus University), `ICME 
        <https://icme.stanford.edu/computer-resources/gpu-cluster>`_ (Stanford 
        University), `Comet <https://www.sdsc.edu/services/hpc/hpc_systems.html#comet>`_