tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: BLAS in pkgsrc: present and future



On 2019-05-31 06:37, Greg Troxel wrote:
"Dr. Thomas Orgis" <thomas.orgis%uni-hamburg.de@localhost> writes:


My reasoning is this: If I want to be sure that things really use my chosen
optimized BLAS, I want a package to fail to alert me to the fact that
my choice does not work. I may have a GPU cluster and want all programs
optimized to use a BLAS that runs on the GPU. I may be wrong in
thinking that BLAS performance matters to all packages, but having this
switch enables me to be pointed at those packages that don't accept my
choice and prompt me to either fix the package or decide to switch to a
different BLAS for that package (heck ??? is VAR.package an universal
feature to override a global choice in mk.conf?).
I think that if a user sets PKGSRC_BLAS_PREFERRED to a list, then only
implementations from that list should be selected.  This means that if
there is no overlap with ACCEPTED for a package, that build will fail.
That seems very straightforward and likely what was intended.  If the
user wants some always-working fallback implementation, they can put it
at the end of PREFERRED.  Why the user wants this is not ours to
question; I cannot make the argument that anyone who wants this is
always wrong.

(which is a semi-lengthy way of agreeing with Thomas here)
That behavior would go against the meaning of "preferred" though, making the variable name misleading.?? I think we would need to change the name to something like PKGSRC_BLAS_USER_ACCEPTED and perhaps also change PKGSRC_BLAS_ACCEPTED to PKGSRC_BLAS_PKG_ACCEPTED.?? PKGSRC_BLAS_USER_ACCEPTED in this scenario could replace PKGSRC_BLAS_TYPE/PKGSRC_BLAS_EXCLUSIVE.

In summary:

PKGSRC_BLAS_USER_ACCEPTED: List of implementations acceptable to user (mk.conf) PKGSRC_BLAS_PKG_ACCEPTED: List of implementations acceptable to package (package Makefile) _PKGSRC_BLAS_SELECTED: Internal, first match from lists above and must be present in both or build will fail

Cheers,

?????? JB


Home | Main Index | Thread Index | Old Index