Skip to content

Linear Algebra Kernel for volesti #76

@vissarion

Description

@vissarion

Project

GeomScale

Summary

This project will introduce a flexible linear algebra kernel system in volesti, allowing users and developers to plug in various external linear algebra libraries such as Eigen, MKL, Spectra, and ARPACK. Using modern C++ traits and concepts, we will decouple volesti’s geometric algorithms from specific dependencies and enable high-performance, extensible, and user-configurable linear algebra backends.

submitter

Vissarion Fysikopoulos

project lead

vissarion

Community benefit

volesti is an open-source library for high dimensional sampling, volume computation, and semi-definite programming. By introducing this kernel abstraction, we expect a 2× speedup in main routines and the ability to handle larger, sparse, and higher-dimensional problems. This will directly benefit users working in computational geometry, optimization, Bayesian modeling, finance and systems biology.

Beyond volesti, other open-source developers will benefit from modular, header-only components that can be integrated easily into their own C++ projects. The new architecture will also make it easier for contributors to extend volesti with additional linear algebra backends in the future (e.g. GPU Linear Algebra), enhancing long-term sustainability and community engagement.

Amount requested (USD)

4000

Execution plan

Milestones:

M1 (Months 1–2): Design and implement the linear algebra kernel abstraction using Eigen as the baseline and add MKL support for core matrix operations and eigenvalue computations.

M2 (Months 3–4): Integrate Spectra for advanced eigenvalue problems and refactor volesti’s main routines to use the new kernel; benchmark, document, and merge into the main repository.

Who (github usernames)
vissarion, TolisChal
They are both very experienced with the volesti codebase (already very active contributors).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions