Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 757588

Summary: app-eselect/eselect-library: new eselect module for managing runtime loading of libraries - use case for current BLAS LAPACK - in recent future for BLAS64 LAPACK64 SCALAPACK SCALAPACK64
Product: Gentoo Linux Reporter: Aisha Tammy <gentoo>
Component: New packagesAssignee: Gentoo Science Related Packages <sci>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: eselect-library module

Description Aisha Tammy 2020-11-29 12:24:50 UTC
Currently, we have eselect-blas and eselect-lapack which handle runtime path for BLAS and LAPACK.

Soon we are going to have BLAS64 and LAPACK64 libraries available as well
https://github.com/Reference-LAPACK/lapack/pull/462
https://github.com/Reference-LAPACK/lapack/pull/460

This would entail creating other eselect modules BLAS64 and LAPACK64.

SCALAPACK is also another library for which we have two providers
sci-libs/mkl and sci-libs/scalapack

There is another provider for scalapack (from AMD AOCL) which we haven't imported into the tree so far -
https://github.com/amd/scalapack

Currently, we do not allow other providers of SCALAPACK because there is no eselect-scalapack.

This eselect-library consolidates the code for all eselect-{blas,lapack,blas64,lapack64,...} and any other library provider, into one.

It has slight changes in syntax - 

commands available are almost the same as original eselect modules with the addition of a few more -
add list managed priority show set unset validate

eselect library list blas - show current providers for blas
eselect library set blas openblas - set a provider

added command explanations -

(1) eselect library unset blas - remove additional search paths and use default provider from /usr/$(get_libdir)

(2) eselect library priority blas 9876 - set the load order priority of blas library search path (smallest get loaded first)

(3) eselect library managed - show all libraries currently having an alternate runtime provider registered with eselect-library.
Comment 1 Aisha Tammy 2020-11-29 12:25:39 UTC
Created attachment 675685 [details]
eselect-library module