-
Notifications
You must be signed in to change notification settings - Fork 36
Description
Is your feature request related to a problem? Please describe.
OASIS is already dependent on Boost, which provides uBLAS as a solution (albeit a less performant one) for linear algebra. It may advantageous to provide the option to opt out of Eigen, to reduce the total number of external dependencies and use uBLAS instead.
Describe the solution you'd like
We can add an option such as OASIS_LINALG_IMPL which will default to Eigen but can optionally be set to uBLAS. Setting it to uBLAS will skip fetching, building, and linking Eigen, and will enable linking against uBLAS. We will maintain two separate implementations of Matrix.cpp one, with Eigen, and one with uBLAS with only one being compiled in corresponding to their respective option.
Describe alternatives you've considered
Eigen is great and all, but it involves pulling a dependency with a potentially different build system. uBLAS presents itself as part of Boost's build system.
Additional context
The latest stable version of Eigen at the of writing (3.4.0) does not compile under C++23. We are currently using the nightly branch, which does compile, but we would prefer depend on a stable release. Note, we are not dropping support for Eigen, nor would uBLAS just be a temporary solution.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status