Closed davydden closed 9 years ago
Host BLAS, LAPACK, and MPI are basically supported, see these packages for an example:
I'm not sure anybody has put in MKL support, but it wouldn't be hard.
See the examples sections for a couple of different ways that folks have specified and met the BLAS dependencies.
so when there is build: [blas]
, how is it resolved? does it end up using https://github.com/hashdist/hashstack/blob/master/pkgs/host-blas.yaml ? just trying to understand how this sort of things are handled in hashdist.
and more importantly, how the user can choose which blas he wants: system-provided or, say, openblas?
A user sets the use
flag in their profile to switch to a different blas
. There's an example with mpi
in https://hashdist.readthedocs.org/en/latest/specs.html
Those are the examples I'd point to as well. Though there is some mkl support in a few of the stable/supercomputer_name branches, none of it is general enough to push to master as a host-mkl-blas package. It might be possible to use libmkl_rt to implement general host-mkl packages: https://software.intel.com/en-us/articles/a-new-linking-model-single-dynamic-library-mkl_rt-since-intel-mkl-103
i see... thanks a lot for the answers!
What is the status of blas support in hashdist? Can one use MKL, for example, with GCC, or system provided blas/lapack (CentOS, Ubuntu, OS-X)?
Trilinos seems to be using hard-coded blas whereas Petsc builds against
blas
dependency, but it's not clear to me what will it be at the end.I suppose MPI is supported natively just fine (one does not have to compile open-mpi).