From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.courtes@inria.fr (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: OpenBLAS and performance Date: Thu, 21 Dec 2017 15:55:21 +0100 Message-ID: <87ind05dwm.fsf@gnu.org> References: <20171219104956.GB806@thebird.nl> <87tvwl7h4w.fsf@albion.it.manchester.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eS2Fu-0004Xk-LE for guix-devel@gnu.org; Thu, 21 Dec 2017 09:55:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eS2Fp-0002bp-JT for guix-devel@gnu.org; Thu, 21 Dec 2017 09:55:30 -0500 In-Reply-To: <87tvwl7h4w.fsf@albion.it.manchester.ac.uk> (Dave Love's message of "Wed, 20 Dec 2017 11:50:23 +0000") 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: Dave Love Cc: Guix-devel , Eric Bavier , Federico Beffa Hello, Dave Love skribis: > Fedora sensibly builds separately-named libraries for different flavours > , but I'd > argue also for threaded versions being available with the generic soname > in librray sub-directories. There's some discussion and measurements > (apologies if I've referenced it before) at > I like the idea of an =E2=80=98update-alternative=E2=80=99 kind of approach= for interchangeable implementations. Unfortunately my understanding is that implementations aren=E2=80=99t entir= ely interchangeable, especially for LAPACK (not sure about BLAS), because BLIS, OpenBLAS, etc. implement slightly different subsets of netlib LAPACK, AIUI. Packages also often check for specific implementations in their configure/CMakeLists.txt rather than just for =E2=80=9CBLAS=E2=80=9D = or =E2=80=9CLAPACK=E2=80=9D. FlexiBLAS, which Eric mentioned, looks interesting because it=E2=80=99s des= igned specifically for that purpose. Perhaps worth giving it a try. Besides, it would be good to have a BLAS/LAPACK policy in Guix. We should at least agree (1) on default BLAS/LAPACK implementations, (2) possibly on a naming scheme for variants based on a different implementation. For #1 we should probably favor implementations that support run-time implementation selection such as OpenBLAS (or the coming BLIS release). Thoughts? Ludo=E2=80=99.