Skip to content
SPECIFICTION
Get listed

libCEED

libceed.org

Free plan LinuxAPISelf-hosted
Visit libceed.org
Spec score 8.4 #16 of 89 in Physics Simulation Software

Spec sheet

Purpose
libCEED is a library for matrix-free operator representation focused on high-order finite elements and other discretizations in factored form.Read 12 Oct 2026 · libceed.org
Intended users
The library is designed for application developers whose codes have their own discretization infrastructure and need optimized discretization kernels.Read 12 Oct 2026 · libceed.org
Free plan
YesRead 24 Sep 2026 · libceed.org
Support
The libCEED team can be reached by email at [email protected] or through comments in the issue tracker.Read 12 Oct 2026 · github.com
License
The repository states that libCEED is distributed under the BSD 2-Clause License.Read 12 Oct 2026 · github.com
Application integrations
The documentation names PETSc, MFEM, and Nek5000 as applications that can use libCEED’s core operations.Read 12 Oct 2026 · libceed.org
Backend requirements
The documented HIP backends require ROCm 4.2 or newer, and the MAGMA backends require MAGMA 2.5.0 or newer.Read 5 Oct 2026 · libceed.org
Build dependencies
The library has no required dependencies; CUDA, HIP, and SYCL support can be enabled during the build, and SYCL requires oneAPI compilers.Read 5 Oct 2026 · libceed.org
Build requirements
The C99 library has no required dependencies, while optional GPU backends require corresponding toolchains and libraries.Read 12 Oct 2026 · libceed.org
CPU and GPU backends
Documented backends include CPU implementations and GPU implementations using CUDA, HIP, SYCL, and MAGMA.Read 5 Oct 2026 · libceed.org
CPU backends
CPU backends include pure C, AVX, ARM SVE and SME, and LIBXSMM implementations.Read 12 Oct 2026 · libceed.org
Determinism
Some backends use nondeterministic operations such as atomicAdd, and the documentation identifies which listed backends support reproducible results.Read 12 Oct 2026 · libceed.org
GPU backends
GPU backends include CUDA, HIP, and SYCL, with optional MAGMA kernels.Read 12 Oct 2026 · libceed.org
Integration
The manual describes libCEED as a lightweight library that can be integrated into new and legacy software through a purely algebraic interface.Read 5 Oct 2026 · libceed.org
Language interfaces
The library has a C99 interface plus Fortran, Python, Julia, and Rust interfaces.Read 12 Oct 2026 · libceed.org
Methods
The library focuses on high-order finite elements, while its algebraic approach also applies to other discretizations in factored form.Read 5 Oct 2026 · libceed.org
OpenMP
It can be configured for OpenMP host applications to create and apply operators from different threads within an OpenMP parallel region.Read 12 Oct 2026 · libceed.org
Performance portability
It provides runtime selection of implementations tuned for CPUs and GPUs through a unified low-level API.Read 12 Oct 2026 · libceed.org
Reproducibility limit
Some backends use nondeterministic operations, and the manual identifies which backends can produce reproducible results with proper compilation options.Read 5 Oct 2026 · libceed.org
Target users
Its low-level API is intended for application code with its own discretization infrastructure, including PETSc, MFEM, and Nek5000.Read 5 Oct 2026 · libceed.org
WebAssembly
libCEED can be built for WebAssembly using Emscripten.Read 12 Oct 2026 · libceed.org

Plans and prices

libCEED Free C99 library · no required dependencies · Fortran, Python, Julia, and Rust interfaces Read 12 Oct 2026 · libceed.org

Every libCEED plan and price →

Where Specifiction places it

Alternatives to libCEEDAll alternatives →