Skip to content

Blas linkage #54

@gfaster

Description

@gfaster

As it stands now, Peroxide enforces use of OpenBLAS even though all the libraries and apis it uses are agnostic to the BLAS library variant. In order to use a different BLAS implementation, one must delete Peroxide's build.rs, everything works fine otherwise. Especially as this tutorial page is linked in the README, I think it should be expected that the user should be the one to include the linkage lines in their build.rs.

Realistically, I think there are a few good ways of changing this:

  1. Just remove Peroxide's build.rsand leave it to the user to include the right libraries (I believe this is the best course of action)
  2. Add a "no explicit linkage" feature that disables Peroxide's build.rs
  3. Change the linkage from openblas to blas - many distros/package managers will have libblas symlinked to the installed BLAS implementation, OpenBLAS included.
  4. Add links tag to Cargo.toml to allow for explicit overriding

Regardless, Peroxide explicitly linking to OpenBLAS is undesirable due to the plethora of other BLAS implementations (including open source ones like ClBlast) that can be used with no source code changes.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions