From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Love Subject: Re: OpenBLAS and performance Date: Thu, 21 Dec 2017 16:38:24 +0000 Message-ID: <87d1383ukf.fsf@albion.it.manchester.ac.uk> References: <20171219104956.GB806@thebird.nl> <87tvwl7h4w.fsf@albion.it.manchester.ac.uk> <87h8sl78vp.fsf@albion.it.manchester.ac.uk> <20171220172215.GA7926@thebird.nl> <87d139xo3v.fsf@elephly.net> <20171220192802.GA8426@thebird.nl> <87bmitxj81.fsf@elephly.net> <20171220203215.GA8737@thebird.nl> <20171220130241.52f733aa@centurylink.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55023) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eS3rc-0001sD-Bn for guix-devel@gnu.org; Thu, 21 Dec 2017 11:38:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eS3rY-0000sN-6o for guix-devel@gnu.org; Thu, 21 Dec 2017 11:38:32 -0500 Received: from clarity.mcc.ac.uk ([130.88.200.144]:27311) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eS3rX-0000rS-W8 for guix-devel@gnu.org; Thu, 21 Dec 2017 11:38:28 -0500 In-Reply-To: <20171220130241.52f733aa@centurylink.net> (Eric Bavier's message of "Wed, 20 Dec 2017 13:02:41 -0600") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Eric Bavier Cc: guix-devel@gnu.org Eric Bavier writes: > Related only to this specific case of BLAS libraries, and not to the > general idea of optimized libraries: > I recently discovered "FlexiBLAS" from the Max Planck Institute > https://www.mpi-magdeburg.mpg.de/projects/flexiblas which I thought > might be useful for Guix. That's a new one on me; I'll see how it works. (You'd hope you could do it with weak symbols or other ELFin stuff, but I couldn't see how.) > It lets one choose the desired BLAS backend > at runtime via a configuration file or environment variables. The Fedora package I referenced also does that, makes it easy to have local defaults on heterogeneous clusters, and has been used in production. The same technique allows you to use proprietary BLAS if necessary. > In it's > current state it needs a little configuration before use, but I think > with a little work we could make picking a BLAS implementation as easy > as, e.g. > > guix package -i python-numpy openblas-haswellp Really, you shouldn't need to do that. By the way, there's hope for free ~MKL-equivalent L3 BLAS on avx512 from some work that's promised in the new year. (BLIS dgemm currently has ~70% of MKL performance.)