tech-pkg archive

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

I want to merge some BLAS updates to get things in a future-proof shape before the branch. Please review.



Hi,
I just pushed that to WIP and would like to get feedback on the changes
therein that I want to merge to CVS soon. Main points that change the
current packages in math:
- move of cblas/lapacke headers to include/netlib (with symlink to include)
- fixing of math/cblas and math/lapacke to use netlib BLAS
- math/openblas* includes C interfaces (so does not need separate cblas
 and lapacke)
- possibly a merge of wip/mk/blas64.buildlink3.mk with
 mk/blas.buildlink3.mk, but maybe only two files next to each other
 (opinions?)
The *64 packages are new and don't disturb anyone.
More prose in the commit blurb:
commit f3668144b0bdad5f5f3e3dc3aef000d6716d5264 (HEAD -> master, origin/master, origin/HEAD)
Author: Dr. Thomas Orgis <thomas.orgis%uni-hamburg.de@localhost>
Date: Thu Jun 10 19:51:22 2021 +0200
 blas64, lapack64, cblas*, lapacke*, openblas*, mk/blas64.bl3: fixup and 64 bit BLAS
 
 This prepares for 64 bit index BLAS libraries alongside 32 bit ones. In preparation
 of better support for vendor BLAS libraries, I had to realize that you better
 use the C interfaces supplied by them, not the netlib one strapped on. A simple
 reason of practicability: The vendor blas libraries, like openblas, like to
 ship all symbols in one library, so you get them whether you want it or not.
 
 The netlib reference pacakges are still all separate packages for the separate
 libraries, since this is instructive and helps keeping things small when you
 do not need all of them. The installation location of the headers is now in
 a subdirectory to be able to have 32 and 64 bit variants independent. The 32 bit
 ones are linked to ${PREFIX}/include to keep the old picture. We could be brave
 and remove those, but there is some value in a build just trying -lcblas and
 
 to be happy.
 
 The blas64.buildlink3.mk conflicts with blas.buildlink3.mk to avoid hazardous
 combination of the same symbols with differing ABI. The contents of blas.bl3
 will be updated to behave the same way on merging in. One might consider merging
 the identical parts of the files, but then, this might be not worth it.
 
 Another idea is to have it all on one blas.bl3 and have a variable to switch
 between 32 and 64 bits. BLAS_INTERFACE64=yes, perhaps? BLAS_ILP64 seems to
 confuse people a lot;-) That way, a mix of differing settings would also not
 be possible.
 
 I would like to merge this before the next branch … let's see. The 64 bit stuff
 is pretty safe right now as nothing else uses it, but I intend to make
 py-numpy, octave, R etal. use the 64 bit CBLAS on 64 bit platforms.
 That switch itself will need some time to settle, I guess, but having the 64 bit
 BLAS in main is a prerequisite to do that without too much hassle.
Some context:
	https://github.com/Reference-LAPACK/lapack/issues/461
-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /