EVERYTHING XIAOMI
Get listed

libCEED

libCEED is a free BSD-2-Clause library for matrix-free operator representation, providing runtime selection of implementations for CPUs and GPUs.

Place
#24 of 89
Score
6.9
libCEED's website

What libCEED is

libCEED is a free BSD-2-Clause library for matrix-free operator representation, providing runtime selection of implementations for CPUs and GPUs. Its low-level C99 API is intended for application code with its own discretization infrastructure, including PETSc, MFEM, and Nek5000. The project focuses on high-order finite elements, while its algebraic method also applies to other discretizations in factored form. Interfaces are available for Fortran, Python, Julia, and Rust. Documented CPU backends include pure C, AVX, ARM SVE and SME, and LIBXSMM; GPU options include CUDA, HIP, SYCL, and optional MAGMA kernels. The library has no required dependencies, though optional GPU backends need their toolchains and libraries, and SYCL requires oneAPI compilers. It can integrate with new or legacy software through an algebraic interface, build for WebAssembly with Emscripten, and support OpenMP host applications. Some backends are nondeterministic, while documentation identifies those supporting reproducible results with suitable compilation options. HIP backends require ROCm 4.2 or newer, and MAGMA backends require MAGMA 2.5.0 or newer.

Good

  • Free C99 library with no required dependencies
  • Provides Fortran, Python, Julia, and Rust interfaces
  • Runtime CPU and GPU backend selection
  • Supports CUDA, HIP, SYCL, and MAGMA
  • Can integrate with new and legacy software

Watch out

  • Some backends use nondeterministic operations
  • Optional GPU backends require corresponding toolchains
  • HIP requires ROCm 4.2 or newer
  • MAGMA requires version 2.5.0 or newer

Who it suits

It suits application developers whose codes provide their own discretization infrastructure and need optimized CPU or GPU kernels. Users should be comfortable configuring optional backend toolchains and considering reproducibility requirements.

Verdict

libCEED offers a lightweight, low-level foundation for matrix-free operators across varied CPU and GPU implementations. Its flexibility depends on the application’s discretization infrastructure and the backend requirements selected during build.

Plans and prices

From libCEED's own pricing page, checked 12 Oct 2026.

All about pricing
PlanPriceWhat it gives you
libCEEDFreeC99 library · no required dependencies · Fortran, Python, Julia, and Rust interfaces

The facts

Each one read from libCEED's own pages, with the date it was checked.

Where it runs

Application integrations
The documentation names PETSc, MFEM, and Nek5000 as applications that can use libCEED’s core operations.checked 12 Oct 2026

What it does

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

Money

Free plan
Yeschecked 24 Sep 2026

Alternatives to libCEED

All alternatives
  1. 1SimFlow logo

    SimFlow

    Free planWebLinuxmacOSWindows
    8.2From €8,000 a year
  2. 2COMSOL Multiphysics logo

    COMSOL Multiphysics

    WebAPILinuxmacOS
    7.7
  3. 3

    FeenoX

    Free planWebAPILinuxSelf-hosted
    7.5Free plan
  4. 4

    myPhysicsLab

    Free planWebLinuxmacOSSelf-hosted
    7.5Free plan
  5. 5OpenFOAM logo

    OpenFOAM

    Free planLinuxmacOSSelf-hostedWindows
    7.3Free plan
  6. 6

    MPTRAC

    Free planWebLinuxSelf-hosted
    7.2Free plan