From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id uESrFg9E22BhcwEAgWs5BA (envelope-from ) for ; Tue, 29 Jun 2021 18:02:23 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id mPBGEg9E22AaXgAAbx9fmQ (envelope-from ) for ; Tue, 29 Jun 2021 16:02:23 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CF60423F7F for ; Tue, 29 Jun 2021 18:02:22 +0200 (CEST) Received: from localhost ([::1]:55630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lyGBp-00025L-KK for larch@yhetil.org; Tue, 29 Jun 2021 12:02:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lyG9q-0000qh-KG for guix-devel@gnu.org; Tue, 29 Jun 2021 12:00:19 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:34239) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lyG9l-0001VJ-1Y for guix-devel@gnu.org; Tue, 29 Jun 2021 12:00:18 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 8509E320094E; Tue, 29 Jun 2021 12:00:08 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 29 Jun 2021 12:00:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericcbrown.com; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-type:content-transfer-encoding; s=fm2; bh= eoA0HqwiY2IHCczMdKd+MB4vRUNZT8+UyFv9TxquP+o=; b=JSSMAiQxugllE1lT F1fmsKLjhWNzA1qtAVZ/TxH4c+KZgRK93skiRmJIbFcGRMahLNdtLPXn6Y+lw5ba fxeEZlEe0XkYrsEQIXPk1bFbudfEKEq6npOcF+vKetn08TiOhKocWj/Z3hs+3wlq eFHr1rlXfYyIqRbB2rGX224QzaY5yAZYWITrOjYojqWPAJChDXF/rwjW6K0UpYNY 3pi3ken0Fs6YF016kkTRS3+4lNxNt5VQX68t2pqpiYufQCcU1QUOIbMjPYUMaZwl MJMXHLJk4zTfqoQbd7JqT5qiHWOU+gtq1K+N0G1K0R1uwjlAtv2oaslD4/VCUfyP nfTngg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=eoA0HqwiY2IHCczMdKd+MB4vRUNZT8+UyFv9TxquP +o=; b=LgsoH5oh3H7u6o9+wPgArpiPCDEI2GcZ8kxgZSEZj5U+nlJ34OJ4+Jlj9 WrSjPntNkAk4qUJLD/v7zdJbleiq/Sc8YkWI8Q4yatFvb97N1evnbYbGLrhrVwkV W+aTfd//cpfAPbQc6FyMykNdAab/BHcuBuz85CqdLOPNhuDM/lsD+XuiGnWght5u QPdyDO7pSVxL0JiGRFhiUHehXq4DVvsk/t4wX3hI+1PV5E0Ihx7v6aHIrQkNGxsv cXpVK8o8yw9vBNcalymJ4K/8GZYTGtVydPTbO3YJSmyWxxLyT/abYGcPMYx7sN4f Wwgn3IN2q9w0Bw7rJxDKalL2zMw6Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfeeitddgieefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepgfhrihgt uceurhhofihnuceovggtsghrohifnhesvghrihgttggsrhhofihnrdgtohhmqeenucggtf frrghtthgvrhhnpeeiudefffetteduvddtuedviedthfehffekvedvueeileeiveeuhefg udektedtieenucffohhmrghinheprhdqphhrohhjvggtthdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvtggsrhhofihnsegvrhhi tggtsghrohifnhdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 29 Jun 2021 12:00:07 -0400 (EDT) From: Eric Brown To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: LAPACK vs. OpenBLAS References: <87wnqjs9qv.fsf@inria.fr> <87k0mj71eu.fsf@ericcbrown.com> <87im1wrb1b.fsf@gnu.org> Mail-reply-to: Eric Brown Mail-followup-to: Eric Brown Date: Tue, 29 Jun 2021 11:00:06 -0500 In-Reply-To: <87im1wrb1b.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 29 Jun 2021 16:38:24 +0200") Message-ID: <87wnqchda1.fsf@ericcbrown.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=64.147.123.25; envelope-from=ecbrown@ericcbrown.com; helo=wout2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624982542; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=eoA0HqwiY2IHCczMdKd+MB4vRUNZT8+UyFv9TxquP+o=; b=EbbkEIURv64G/UyIDYBpJ/UC2AEhC7+sx5PuKqXI6naGrxtjDV534yNAlTEWdUB6zTJNiN Y5OEp/TqSCJhaUnfFsXw7p1grDIgmWJfpuoMCwW7S2huP/1TJeDMzLRIlHdor0R3x8rOH8 uvxL66E71HTK6u9cR9KWsLzuilDkRdBuGaiMbryD0gDehtT54nVCu9iinotk3ay6iLvHMk IVqmIWY9PLPGjL4bS3FWiAIbBIt7pQ9KsRwk95hXaobFko0Hp40HiK2o2SoGZY98MJzhKY c1L4+C0al9gZpNQ2kXk6VvVszxaNsLzPihXj6jGMjjNEcM42CXjRShCu38ElTg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624982542; a=rsa-sha256; cv=none; b=QJ86l/OmU/2vHD5AibWm1Cwx3+vaq1CL1M+kasXYJ/1UohckRqsGxU+JB+9jH0G/AO+uz/ 43pLESSZW5T2pMMvI+JzqEXd82sPJHT6SwY+79ZiUMXGmVOOS2272DQPvN2Ad56TFKO5vl 0dNeHygAqO11jcXtBSG4w38cTUsgnLkWYS0/cOXuknDQrBFnPl5t4KkfiqEr0RKxJwbcCb nbY78Z+BtcuB/WwRx/4SFTxq//r75EdJ9Pfa4dJ2eI7VjnD9Vuh6Xe2/L0vWDCMVSYo+8d 028WAQ4IToy/lYF+gbq6RUw6BRgw6cYuqKh/JaKsvq1s7XjYZMSeeDjfyYjiEg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=ericcbrown.com header.s=fm2 header.b=JSSMAiQx; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=LgsoH5oh; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.62 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=ericcbrown.com header.s=fm2 header.b=JSSMAiQx; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=LgsoH5oh; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: CF60423F7F X-Spam-Score: -2.62 X-Migadu-Scanner: scn0.migadu.com X-TUID: G4Ng/MSQHsw/ Hi Ludo'! Ludovic Court=C3=A8s writes: > Hi Eric, > > Eric Brown skribis: > > Are there other cases where netlib BLAS is considered more appropriate > than OpenBLAS because it=E2=80=99s more numerically stable? > Sorry about that, the full discussion is here: https://cran.r-project.org/doc/manuals/r-devel/R-admin.html#Linear-algebra To answer your question on other examples: I would have to do some digging for the exact details, but there was once a time when LAPACK 3.x had an SVD that would solve with QR, most expensive but would give an answer for the "most singular" of problems. It is not, however, the "published" LAPACK algorithm and is not available. (A classic case where this occurs is when throwing junk into a linear regression, whose solution is bullet-proof with the SVD. Very important for R, and many more langs and other problems such as factor analysis.) A few random points: * Good/improving compilers gfortran,gcc often make the reference lapack/blas fast enough. IIRC it is good as any optimized BLAS for small matrices. If reporting e.g. convergence issues, people converge here for apples-to-apples. * ATLAS can empirically tune for architectures that are not getting love by the OpenBLAS team. So, non-amd64 has *something* more performant than Reference LAPACK/BLAS. I've often seen distributed binaries have to choose something lackluster to satisfy older processors. * I usually use OpenBLAS because it also gives SMP. I notice it doesn't cover all the archs that Guix covers, but I think it should be default go-to unless of problems for x86_64 at least. * If memory serves, layering multiple LAPACKs came from the days when the optimized BLAS's where incomplete. People just slapped -llapack on the end to make sure that if the optimized lib didn't get it then lapack would, just that would be only at Fortran speed :-( lol Best regards, Eric