guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: gnu: openblas: Update make-flags comments and coding style.


From: guix-commits
Subject: 03/03: gnu: openblas: Update make-flags comments and coding style.
Date: Thu, 1 Jun 2023 04:26:55 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit 4abf0af4b1668a531627f2dffa924108479011ee
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Thu Jun 1 11:07:17 2023 +0300

    gnu: openblas: Update make-flags comments and coding style.
    
    * gnu/packages/maths.scm (openblas)[arguments]: In the make-flags use
    the target-* macros. Adjust the wording describing why the different
    architectures have the flags they do.
---
 gnu/packages/maths.scm | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 662bd49895..4e34124469 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4587,32 +4587,33 @@ parts of it.")
               ;; of cores of the build machine, which is obviously wrong.
               "NUM_THREADS=128"
 
-              ;; Build the library for all supported CPUs.  This allows
-              ;; switching CPU targets at runtime with the environment variable
-              ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU 
type.
-              ;; Unfortunately, this is not supported on all architectures,
-              ;; 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)
-                         (string-prefix? "powerpc64le" system)
-                         (string-prefix? "aarch64" system))
-                     ;; Dynamic older enables a few extra CPU architectures 
that
-                     ;; were released before 2010.
+              ;; DYNAMIC_ARCH is only supported on some architectures.
+              ;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
+              ;; which uses the optimizations for the detected CPU.  This can
+              ;; be overridden at runtime with the environment variable
+              ;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU
+              ;; type.  On other architectures we target only the baseline CPU
+              ;; supported by Guix.
+              #$@(cond
+                    ((or (target-x86-64?)
+                         (target-x86-32?)
+                         (target-ppc64le?)
+                         (target-aarch64?))
+                     ;; Dynamic older enables a few extra CPU architectures
+                     ;; on x86_64 that were released before 2010.
                      '("DYNAMIC_ARCH=1" "DYNAMIC_OLDER=1" "TARGET=GENERIC"))
-                    ;; On some of these architectures the CPU can't be 
detected.
+                    ;; On some of these architectures the CPU type can't be 
detected.
+                    ;; We list the oldest CPU core we want to have support for.
                     ;; On MIPS we force the "SICORTEX" TARGET, as for the other
                     ;; two available MIPS targets special extended instructions
                     ;; for Loongson cores are used.
-                    ((string-prefix? "mips" system)
+                    ((target-mips64el?)
                      '("TARGET=SICORTEX"))
-                    ;; Failed to detect CPU.
-                    ((string-prefix? "armhf" system)
+                    ((target-arm32?)
                      '("TARGET=ARMV7"))
-                    ((string-prefix? "riscv64" system)
+                    ((target-riscv64?)
                      '("TARGET=RISCV64_GENERIC"))
-                    (else '()))))
+                    (else '())))
       ;; no configure script
       #:phases
       #~(modify-phases %standard-phases



reply via email to

[Prev in Thread] Current Thread [Next in Thread]