From unknown Sat Aug 16 16:20:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32681: OpenBLAS with ILP64 storage model Resent-From: Eric Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 10 Sep 2018 13:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32681 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 32681@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15365869224506 (code B ref -1); Mon, 10 Sep 2018 13:43:01 +0000 Received: (at submit) by debbugs.gnu.org; 10 Sep 2018 13:42:02 +0000 Received: from localhost ([127.0.0.1]:51909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzMS1-0001Ac-Q1 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:42:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60939) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzMS0-0001A9-8V for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:42:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzMRt-0005Y8-32 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:41:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzMRs-0005XP-S7 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:41:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzMRq-0006fj-8d for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzMRl-0005OY-54 for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:50 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:44463) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzMRk-0005NK-Qh for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:45 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 45B2321C5F for ; Mon, 10 Sep 2018 09:41:44 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 10 Sep 2018 09:41:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-type:date:from:message-id:mime-version:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=BAccWe//No0P9EPy2 yG2ZRSwFKIrIMVa63UZg2ZxEkk=; b=Gkb0XQhIu6qLJ6fFe0SCXesBchzv4MFZv yyfCGWhZHlePMLem0eENimU3F/NcDrf8jnhdB1D14CZhTC0WOGQeQnZkLaO5n+u6 83dLwQEVOtOUBNs69IoYfmn2yJPjLeGoHKfiEt0zZoWINR9sjUO5Mc05HvehXMwJ V4y/Pdj7fGO7iiCyP/GnmzSmeI0jYuMChLVx5nDyk5/EJYRB71DLtO7a20wYa23C qLuahHQDKP4dnnG+mwynlvq4PuSozTSEapjJbVxdNVHft1pjo1lQ2OvHSzAaGO2f A5OBhNyL/WrU1Pr86b4sTo+Z2FDn6e2AD4zJjtflPwcH+aoeDVpjQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=BAccWe//No0P9EPy2yG2ZRSwFKIrIMVa63UZg2ZxEkk=; b=KnxS9OLY 1uoTF3h3qbbPbOqZHKTxgfhmHVyhy8QGdW1gFAlcPfrFIYxiRBzpV9bt/mYRvyO2 LIWAvBuwLca/6hlTBeHk4QQK8zCamt7LWQxIzZCbrI0pnKbDGjwaid1bPmYlhJH3 oROI/seJIQmIIAU3zSohKgs9mqXRiOyalgS02K4bdC8qyv3lImnRfGs7FsU3Xygj 9L8Pk1ACfiDqDBMqEqJvFIdymk0nrfNlNrOuRIIn5BB/W8qJZQ9L8vMzCop7cT+D V2TL1tDuWpXPPrl/jzClRLHJPD5v4UVijgPwFr/4QmAfL78nKUPrEtRbYrF0mo5A zej9Hu8UAYVoeQ== X-ME-Proxy: X-ME-Sender: Received: from localhost (c-24-12-214-32.hsd1.il.comcast.net [24.12.214.32]) by mail.messagingengine.com (Postfix) with ESMTPA id CB1ED102AD for ; Mon, 10 Sep 2018 09:41:43 -0400 (EDT) From: Eric Brown Date: Mon, 10 Sep 2018 08:41:41 -0500 Message-ID: <87h8ixjwq2.fsf@fastmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.3 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) --=-=-= Content-Type: text/plain This patch introduces a new package named `openblas-ilp64', which uses the ILP64 model. The library name contains the suffix "_ilp64" to the library name and so hopefully may co-exist with the existing `openblas' port. --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-openblas-ilp64.patch Content-Transfer-Encoding: quoted-printable Content-Description: openblas-ilp64 patch >From 8c9728eb66a45fd42f208df66d323981837c9c0c Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Mon, 10 Sep 2018 08:33:43 -0500 Subject: [PATCH] gnu: Add openblas-ilp64. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c60..5f1dfec8a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2909,6 +2910,76 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package + (name "openblas-ilp64") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/openblas/v" version "/Ope= nBLAS%20" + version "%20version.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=3D1" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8" "INTERFACE64=3D1" "LIBNAMESUFFIX=3Di= lp64")) + (else '("INTERFACE64=3D1" "LIBNAMESUFFIX=3Dilp64"))))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (inputs + `(("fortran-lib" ,gfortran "lib"))) + (native-inputs + `(("cunit" ,cunit) + ("fortran" ,gfortran) + ("perl" ,perl))) + (home-page "http://www.openblas.net/") + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.18.0 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-openblas-ilp64.patch Content-Transfer-Encoding: quoted-printable Content-Description: openblas-ilp64 patch >From 8c9728eb66a45fd42f208df66d323981837c9c0c Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Mon, 10 Sep 2018 08:33:43 -0500 Subject: [PATCH] gnu: Add openblas-ilp64. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c60..5f1dfec8a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2909,6 +2910,76 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package + (name "openblas-ilp64") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/openblas/v" version "/Ope= nBLAS%20" + version "%20version.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=3D1" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8" "INTERFACE64=3D1" "LIBNAMESUFFIX=3Di= lp64")) + (else '("INTERFACE64=3D1" "LIBNAMESUFFIX=3Dilp64"))))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (inputs + `(("fortran-lib" ,gfortran "lib"))) + (native-inputs + `(("cunit" ,cunit) + ("fortran" ,gfortran) + ("perl" ,perl))) + (home-page "http://www.openblas.net/") + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.18.0 --=-=-=-- From unknown Sat Aug 16 16:20:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32681: OpenBLAS with ILP64 storage model Resent-From: ludovic.courtes@inria.fr (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 11 Sep 2018 10:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32681 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Eric Brown Cc: Eric Bavier , 32681@debbugs.gnu.org, Marius Bakke Received: via spool by 32681-submit@debbugs.gnu.org id=B32681.153666110810684 (code B ref 32681); Tue, 11 Sep 2018 10:19:02 +0000 Received: (at 32681) by debbugs.gnu.org; 11 Sep 2018 10:18:28 +0000 Received: from localhost ([127.0.0.1]:36201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzfkZ-0002mF-QP for submit@debbugs.gnu.org; Tue, 11 Sep 2018 06:18:27 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:52214) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzfkX-0002m2-LP for 32681@debbugs.gnu.org; Tue, 11 Sep 2018 06:18:26 -0400 X-IronPort-AV: E=Sophos;i="5.53,360,1531778400"; d="scan'208";a="345872871" Received: from unknown (HELO ribbon) ([193.50.110.124]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 11 Sep 2018 12:18:19 +0200 From: ludovic.courtes@inria.fr (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87h8ixjwq2.fsf@fastmail.com> Date: Tue, 11 Sep 2018 12:18:19 +0200 In-Reply-To: <87h8ixjwq2.fsf@fastmail.com> (Eric Brown's message of "Mon, 10 Sep 2018 08:41:41 -0500") Message-ID: <87muso9w2c.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi Eric, (Cc Eric Bavier and Markus who may be familiar with OpenBLAS.) Eric Brown skribis: >>>From 8c9728eb66a45fd42f208df66d323981837c9c0c Mon Sep 17 00:00:00 2001 > From: Eric Brown > Date: Mon, 10 Sep 2018 08:33:43 -0500 > Subject: [PATCH] gnu: Add openblas-ilp64. > > * gnu/packages/maths.scm (openblas-ilp64): New variable. [...] > +(define-public openblas-ilp64 > + (package > + (name "openblas-ilp64") > + (version "0.3.2") Should we write it as: (package (inherit openblas) =E2=80=A6) ? That would avoid duplication with the =E2=80=98openblas=E2=80=99 package. Also, should we add a =E2=80=98supported-systems=E2=80=99 field to restrict= builds to x86_64-linux, aarch64-linux, and mips64el-linux? Apart from that it LGTM. Thanks for the patch! Ludo=E2=80=99. From unknown Sat Aug 16 16:20:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32681: OpenBLAS with ILP64 storage model Resent-From: Eric Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Sep 2018 14:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32681 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: ludovic.courtes@inria.fr (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Cc: Eric Bavier , 32681@debbugs.gnu.org Received: via spool by 32681-submit@debbugs.gnu.org id=B32681.153684817618196 (code B ref 32681); Thu, 13 Sep 2018 14:17:01 +0000 Received: (at 32681) by debbugs.gnu.org; 13 Sep 2018 14:16:16 +0000 Received: from localhost ([127.0.0.1]:39346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g0SPo-0004jQ-9M for submit@debbugs.gnu.org; Thu, 13 Sep 2018 10:16:16 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:58387) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g0SPm-0004jH-50 for 32681@debbugs.gnu.org; Thu, 13 Sep 2018 10:16:14 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id C990A21F6B; Thu, 13 Sep 2018 10:16:13 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Thu, 13 Sep 2018 10:16:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=vfXJ1TXH5hP3cCz94ysgMZ7dp+g/tLY0JCUaqzK0AE4=; b=onac/nCW 7uOhLZNG/26bpizFlQclseIDIOdisONVN0KolZ3X9VI2Bmn0Rvc30/eg16LC8GLu kNSfzrzviqkhG3JHlueiv2QaVX6dO0O5tBAyAM2rrMuL2vvphwqBVa7blid1e8Oy xK0/g2Ig8c+9LY2zO3qCSWVB1n94Vc8ZS9KC53c1XTxnAicggiw1Sqf7l5eguXaO tVjMUetP+sWd3A2hQbYc1iI+VENtn0ZE5fjswM6uG9pXrZddgPurroHULsMDHgLd lt+wCWcYbG+b/sSDd4Tfpcr3aDzoNEVNi0ih3ZfEeJSyRJvb/LRqc5IOI0hytEKu xnwOQPh5AROVig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=vfXJ1TXH5hP3cCz94ysgMZ7dp+g/t LY0JCUaqzK0AE4=; b=vd62utBNQw2Q6M2tED4HE+J5n1LgX03gi9lMOu0pBbps9 GAIiV3Ml1gJ9lQUm5BLvZLmPoawCB5HSiTKQynYcAYKhYQ+wzuAmtNi+FRdkAMD5 +nDiYLpwf26g54awDR7r6Rrt8gtHndF9UMWE+pe5m2nfFlWFpcA5oop8kp4Q67Ci s2RDegCDrqyqvPwByduVzfd/SaTgoCZz32SNsRg3sVU/RXxnQBGUsSGYqU9tSJSl GqhVspNF20jVaacZA06+7kiBwvahhezX5CPGk57u0D6NyZVTLBoMyzwBNqD9mVHX D6KyORIS4QIWUUFQa7DrTCKRnabo6d6vkkS8UrMLQ== X-ME-Proxy: X-ME-Sender: Received: from localhost (c-24-12-214-32.hsd1.il.comcast.net [24.12.214.32]) by mail.messagingengine.com (Postfix) with ESMTPA id EC9E8102D5; Thu, 13 Sep 2018 10:16:12 -0400 (EDT) From: Eric Brown References: <87h8ixjwq2.fsf@fastmail.com> <87muso9w2c.fsf@gnu.org> Date: Thu, 13 Sep 2018 09:16:12 -0500 In-Reply-To: <87muso9w2c.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Tue, 11 Sep 2018 12:18:19 +0200") Message-ID: <87y3c5trdf.fsf@fastmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable ludovic.courtes@inria.fr (Ludovic Court=C3=A8s) writes: > Should we write it as: > > (package > (inherit openblas) > =E2=80=A6) > > ? That would avoid duplication with the =E2=80=98openblas=E2=80=99 packa= ge. > > Also, should we add a =E2=80=98supported-systems=E2=80=99 field to restri= ct builds to > x86_64-linux, aarch64-linux, and mips64el-linux? > > Apart from that it LGTM. > > Thanks for the patch! > > Ludo=E2=80=99. Hi Ludo', Please find a patch attached which incorporates your suggestions. Best regards, Eric --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-openblas-ilp64-Add-support-for-the-ILP64-storage-mod.patch Content-Transfer-Encoding: quoted-printable >From 08ec9c94431af425d5dfc2cafc428bee10904ff6 Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Thu, 13 Sep 2018 08:54:36 -0500 Subject: [PATCH] openblas-ilp64: Add support for the ILP64 storage model. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index af41093fb..7f1034dc4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2873,6 +2874,64 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package (inherit openblas) + (name "openblas-ilp64") + (version "0.3.2") + (supported-systems (list + "x86_64-linux" + "aarch64-linux" + "mips64el-linux")) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + "INTERFACE64=3D1" + "LIBNAMESUFFIX=3Dilp64" + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((string-prefix? "x86_64" system) + '("DYNAMIC_ARCH=3D1")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8")) + (else '())))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.19.0 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=0001-openblas-ilp64-Add-support-for-the-ILP64-storage-mod.patch Content-Transfer-Encoding: quoted-printable >From 08ec9c94431af425d5dfc2cafc428bee10904ff6 Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Thu, 13 Sep 2018 08:54:36 -0500 Subject: [PATCH] openblas-ilp64: Add support for the ILP64 storage model. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index af41093fb..7f1034dc4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2873,6 +2874,64 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package (inherit openblas) + (name "openblas-ilp64") + (version "0.3.2") + (supported-systems (list + "x86_64-linux" + "aarch64-linux" + "mips64el-linux")) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + "INTERFACE64=3D1" + "LIBNAMESUFFIX=3Dilp64" + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((string-prefix? "x86_64" system) + '("DYNAMIC_ARCH=3D1")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8")) + (else '())))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.19.0 --=-=-=-- From unknown Sat Aug 16 16:20:02 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Eric Brown Subject: bug#32681: closed (Re: bug#32681: OpenBLAS with ILP64 storage model) Message-ID: References: <87lg84jutk.fsf@inria.fr> <87h8ixjwq2.fsf@fastmail.com> X-Gnu-PR-Message: they-closed 32681 X-Gnu-PR-Package: guix Reply-To: 32681@debbugs.gnu.org Date: Fri, 14 Sep 2018 09:25:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1536917102-4371-1" This is a multi-part message in MIME format... ------------=_1536917102-4371-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #32681: OpenBLAS with ILP64 storage model which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 32681@debbugs.gnu.org. --=20 32681: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D32681 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1536917102-4371-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 32681-done) by debbugs.gnu.org; 14 Sep 2018 09:24:16 +0000 Received: from localhost ([127.0.0.1]:40044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g0kKm-00016b-Ho for submit@debbugs.gnu.org; Fri, 14 Sep 2018 05:24:16 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:53977) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g0kKk-00016E-Dk for 32681-done@debbugs.gnu.org; Fri, 14 Sep 2018 05:24:14 -0400 X-IronPort-AV: E=Sophos;i="5.53,372,1531778400"; d="scan'208";a="346359669" Received: from unknown (HELO ribbon) ([193.50.110.53]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 14 Sep 2018 11:24:08 +0200 From: ludovic.courtes@inria.fr (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Eric Brown Subject: Re: bug#32681: OpenBLAS with ILP64 storage model References: <87h8ixjwq2.fsf@fastmail.com> <87muso9w2c.fsf@gnu.org> <87y3c5trdf.fsf@fastmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 28 Fructidor an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 14 Sep 2018 11:24:07 +0200 In-Reply-To: <87y3c5trdf.fsf@fastmail.com> (Eric Brown's message of "Thu, 13 Sep 2018 09:16:12 -0500") Message-ID: <87lg84jutk.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32681-done Cc: Eric Bavier , 32681-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hi Eric, Eric Brown skribis: > Please find a patch attached which incorporates your suggestions. I simplified it further and pushed as daa6036fda502460f626b7beb0afa93a0bac6d01. Thanks! Ludo=E2=80=99. ------------=_1536917102-4371-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 10 Sep 2018 13:42:02 +0000 Received: from localhost ([127.0.0.1]:51909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzMS1-0001Ac-Q1 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:42:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60939) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fzMS0-0001A9-8V for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:42:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzMRt-0005Y8-32 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:41:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzMRs-0005XP-S7 for submit@debbugs.gnu.org; Mon, 10 Sep 2018 09:41:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fzMRq-0006fj-8d for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fzMRl-0005OY-54 for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:50 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:44463) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fzMRk-0005NK-Qh for bug-guix@gnu.org; Mon, 10 Sep 2018 09:41:45 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 45B2321C5F for ; Mon, 10 Sep 2018 09:41:44 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 10 Sep 2018 09:41:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-type:date:from:message-id:mime-version:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=BAccWe//No0P9EPy2 yG2ZRSwFKIrIMVa63UZg2ZxEkk=; b=Gkb0XQhIu6qLJ6fFe0SCXesBchzv4MFZv yyfCGWhZHlePMLem0eENimU3F/NcDrf8jnhdB1D14CZhTC0WOGQeQnZkLaO5n+u6 83dLwQEVOtOUBNs69IoYfmn2yJPjLeGoHKfiEt0zZoWINR9sjUO5Mc05HvehXMwJ V4y/Pdj7fGO7iiCyP/GnmzSmeI0jYuMChLVx5nDyk5/EJYRB71DLtO7a20wYa23C qLuahHQDKP4dnnG+mwynlvq4PuSozTSEapjJbVxdNVHft1pjo1lQ2OvHSzAaGO2f A5OBhNyL/WrU1Pr86b4sTo+Z2FDn6e2AD4zJjtflPwcH+aoeDVpjQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=BAccWe//No0P9EPy2yG2ZRSwFKIrIMVa63UZg2ZxEkk=; b=KnxS9OLY 1uoTF3h3qbbPbOqZHKTxgfhmHVyhy8QGdW1gFAlcPfrFIYxiRBzpV9bt/mYRvyO2 LIWAvBuwLca/6hlTBeHk4QQK8zCamt7LWQxIzZCbrI0pnKbDGjwaid1bPmYlhJH3 oROI/seJIQmIIAU3zSohKgs9mqXRiOyalgS02K4bdC8qyv3lImnRfGs7FsU3Xygj 9L8Pk1ACfiDqDBMqEqJvFIdymk0nrfNlNrOuRIIn5BB/W8qJZQ9L8vMzCop7cT+D V2TL1tDuWpXPPrl/jzClRLHJPD5v4UVijgPwFr/4QmAfL78nKUPrEtRbYrF0mo5A zej9Hu8UAYVoeQ== X-ME-Proxy: X-ME-Sender: Received: from localhost (c-24-12-214-32.hsd1.il.comcast.net [24.12.214.32]) by mail.messagingengine.com (Postfix) with ESMTPA id CB1ED102AD for ; Mon, 10 Sep 2018 09:41:43 -0400 (EDT) From: Eric Brown To: bug-guix@gnu.org Subject: OpenBLAS with ILP64 storage model Date: Mon, 10 Sep 2018 08:41:41 -0500 Message-ID: <87h8ixjwq2.fsf@fastmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.3 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) --=-=-= Content-Type: text/plain This patch introduces a new package named `openblas-ilp64', which uses the ILP64 model. The library name contains the suffix "_ilp64" to the library name and so hopefully may co-exist with the existing `openblas' port. --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-openblas-ilp64.patch Content-Transfer-Encoding: quoted-printable Content-Description: openblas-ilp64 patch >From 8c9728eb66a45fd42f208df66d323981837c9c0c Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Mon, 10 Sep 2018 08:33:43 -0500 Subject: [PATCH] gnu: Add openblas-ilp64. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c60..5f1dfec8a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2909,6 +2910,76 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package + (name "openblas-ilp64") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/openblas/v" version "/Ope= nBLAS%20" + version "%20version.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=3D1" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8" "INTERFACE64=3D1" "LIBNAMESUFFIX=3Di= lp64")) + (else '("INTERFACE64=3D1" "LIBNAMESUFFIX=3Dilp64"))))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (inputs + `(("fortran-lib" ,gfortran "lib"))) + (native-inputs + `(("cunit" ,cunit) + ("fortran" ,gfortran) + ("perl" ,perl))) + (home-page "http://www.openblas.net/") + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.18.0 --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-openblas-ilp64.patch Content-Transfer-Encoding: quoted-printable Content-Description: openblas-ilp64 patch >From 8c9728eb66a45fd42f208df66d323981837c9c0c Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Mon, 10 Sep 2018 08:33:43 -0500 Subject: [PATCH] gnu: Add openblas-ilp64. * gnu/packages/maths.scm (openblas-ilp64): New variable. --- gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c60..5f1dfec8a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -27,6 +27,7 @@ ;;; Copyright =C2=A9 2018 Nadya Voronova ;;; Copyright =C2=A9 2018 Adam Massmann ;;; Copyright =C2=A9 2018 Marius Bakke +;;; Copyright =C2=A9 2018 Eric Brown ;;; ;;; This file is part of GNU Guix. ;;; @@ -2909,6 +2910,76 @@ parts of it.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n.") (license license:bsd-3))) =20 +(define-public openblas-ilp64 + (package + (name "openblas-ilp64") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/openblas/v" version "/Ope= nBLAS%20" + version "%20version.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b20km2jv7m6qiylrlvhq2vnmkmilb633mr8rhqmgbn1wqrp58jq")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and = no + ;; TARGET is specified, OpenBLAS will tune itself to the build host= , so + ;; we need to disable substitutions. + #:substitutable? + ,(let ((system (or (%current-target-system) (%current-system)))) + (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system) + (string-prefix? "mips" system) + (string-prefix? "aarch64" system))) + #:make-flags + (list (string-append "PREFIX=3D" (assoc-ref %outputs "out")) + "SHELL=3Dbash" + ;; Build the library for all supported CPUs. This allows + ;; switching CPU targets at runtime with the environment vari= able + ;; OPENBLAS_CORETYPE=3D, where "type" is a supported CP= U type. + ;; Unfortunately, this is not supported on non-x86 architectu= res, + ;; where it leads to failed builds. + ,@(let ((system (or (%current-target-system) (%current-system= )))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) + '("DYNAMIC_ARCH=3D1" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On MIPS we force the "SICORTEX" TARGET, as for the ot= her + ;; two available MIPS targets special extended instructi= ons + ;; for Loongson cores are used. + ((string-prefix? "mips" system) + '("TARGET=3DSICORTEX" "INTERFACE64=3D1" "LIBNAMESUFFIX= =3Dilp64")) + ;; On aarch64 force the generic 'armv8-a' target + ((string-prefix? "aarch64" system) + '("TARGET=3DARMV8" "INTERFACE64=3D1" "LIBNAMESUFFIX=3Di= lp64")) + (else '("INTERFACE64=3D1" "LIBNAMESUFFIX=3Dilp64"))))) + ;; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-extralib + (lambda* (#:key inputs #:allow-other-keys) + ;; Get libgfortran found when building in utest. + (setenv "FEXTRALIB" + (string-append "-L" (assoc-ref inputs "fortran-lib") + "/lib")) + #t))))) + (inputs + `(("fortran-lib" ,gfortran "lib"))) + (native-inputs + `(("cunit" ,cunit) + ("fortran" ,gfortran) + ("perl" ,perl))) + (home-page "http://www.openblas.net/") + (synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)") + (description + "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD versio= n. (ILP64 version)") + (license license:bsd-3))) + (define* (make-blis implementation #:optional substitutable?) "Return a BLIS package with the given IMPLEMENTATION (see config/ in the source tree for a list of implementations.) --=20 2.18.0 --=-=-=-- ------------=_1536917102-4371-1--