Cocoa: Coastal and Ocean Circulation on Accelerators
Cocoa is a high-performance coastal ocean modeling system designed for modern GPU architectures. Built on the proven numerical methods of the ADCIRC model, Cocoa leverages Kokkos and Trilinos to achieve performance portability across diverse computing platforms.
Key Features
GPU Acceleration: Native support for NVIDIA and AMD GPUs (see Performance)
Performance Portability: Single codebase for CPUs, GPUs, and accelerators
Scalable Solvers: Trilinos-based explicit and iterative solvers with preconditioning
Unstructured Meshes: Triangular finite elements for complex coastal geometries
Quick Start
# Build Cocoa
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DNETCDF_DIR=$(path) -DTrilinos_DIR=$(path)
make -j8
# Run a simulation
./cocoa -i simulation.yaml
Documentation
Getting Started
User Guide
Theory
Developer Guide
Additional Resources