unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK.
@ 2021-06-18 16:12 Ludovic Courtès
  2021-06-21 13:00 ` Efraim Flashner
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2021-06-18 16:12 UTC (permalink / raw)
  To: 49096; +Cc: Ludovic Courtès, Florent Pruvost, Emmanuel Agullo

From: Ludovic Courtès <ludovic.courtes@inria.fr>

OpenBLAS performs better than LAPACK, the reference implementation.
This is also consistent with the choice of BLAS/LAPACK implementations
made in most other packages.

* gnu/packages/maths.scm (petsc)[inputs]: Replace LAPACK by OPENBLAS.
[arguments]: Pass "--with-openmp=1".
---
 gnu/packages/maths.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Hi!

Usually there’s no reason to depend on the reference (“Netlib”) BLAS/LAPACK
implementations because they perform poorly.  This change is one way to
bring consistency here.

Thoughts?

Ludo’.

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a79d546abd..8d47f91310 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2417,7 +2417,7 @@ September 2004}")
      `(("python" ,python-2)))
     (inputs
      `(("gfortran" ,gfortran)
-       ("lapack" ,lapack)
+       ("openblas" ,openblas)
        ("superlu" ,superlu)
        ;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi
        ;; leaving out opengl, as configuration seems to only be for mac
@@ -2428,6 +2428,7 @@ September 2004}")
        #:configure-flags
        `("--with-mpi=0"
          "--with-openmp=1"
+         "--with-openblas=1"
          "--with-superlu=1")
        #:make-flags
        ;; Honor (parallel-job-count) for build.  Do not use --with-make-np,
-- 
2.32.0





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK.
  2021-06-18 16:12 [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK Ludovic Courtès
@ 2021-06-21 13:00 ` Efraim Flashner
  2021-06-22  7:29   ` Ludovic Courtès
  2021-06-22 15:57   ` bug#49096: " Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Efraim Flashner @ 2021-06-21 13:00 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Florent Pruvost, Emmanuel Agullo, Ludovic Courtès, 49096

[-- Attachment #1: Type: text/plain, Size: 2116 bytes --]

On Fri, Jun 18, 2021 at 06:12:04PM +0200, Ludovic Courtès wrote:
> From: Ludovic Courtès <ludovic.courtes@inria.fr>
> 
> OpenBLAS performs better than LAPACK, the reference implementation.
> This is also consistent with the choice of BLAS/LAPACK implementations
> made in most other packages.
> 
> * gnu/packages/maths.scm (petsc)[inputs]: Replace LAPACK by OPENBLAS.
> [arguments]: Pass "--with-openmp=1".
> ---
>  gnu/packages/maths.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Hi!
> 
> Usually there’s no reason to depend on the reference (“Netlib”) BLAS/LAPACK
> implementations because they perform poorly.  This change is one way to
> bring consistency here.
> 
> Thoughts?
> 
> Ludo’.

It sounds reasonable to me.

As long as you're open to thoughts, perhaps we want to have a discussion
(in a new thread) about renaming the input labels for lapack/openblas so
it's easier to do 'guix build foo
--with-inputs=blas=openblas-tuned-for-my-machine'

> 
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index a79d546abd..8d47f91310 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -2417,7 +2417,7 @@ September 2004}")
>       `(("python" ,python-2)))
>      (inputs
>       `(("gfortran" ,gfortran)
> -       ("lapack" ,lapack)
> +       ("openblas" ,openblas)
>         ("superlu" ,superlu)
>         ;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi
>         ;; leaving out opengl, as configuration seems to only be for mac
> @@ -2428,6 +2428,7 @@ September 2004}")
>         #:configure-flags
>         `("--with-mpi=0"
>           "--with-openmp=1"
> +         "--with-openblas=1"
>           "--with-superlu=1")
>         #:make-flags
>         ;; Honor (parallel-job-count) for build.  Do not use --with-make-np,
> -- 
> 2.32.0
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK.
  2021-06-21 13:00 ` Efraim Flashner
@ 2021-06-22  7:29   ` Ludovic Courtès
  2021-06-23 12:34     ` zimoun
  2021-06-22 15:57   ` bug#49096: " Ludovic Courtès
  1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2021-06-22  7:29 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Florent Pruvost, Emmanuel Agullo, 49096

Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Fri, Jun 18, 2021 at 06:12:04PM +0200, Ludovic Courtès wrote:

[...]

>> Usually there’s no reason to depend on the reference (“Netlib”) BLAS/LAPACK
>> implementations because they perform poorly.  This change is one way to
>> bring consistency here.
>> 
>> Thoughts?
>> 
>> Ludo’.
>
> It sounds reasonable to me.

Cool, thanks for taking a look.

> As long as you're open to thoughts, perhaps we want to have a discussion
> (in a new thread) about renaming the input labels for lapack/openblas so
> it's easier to do 'guix build foo
> --with-inputs=blas=openblas-tuned-for-my-machine'

We’ve very much interested in that.  However, input labels don’t have a
role here since ‘--with-input’ matches packages by name.

So most likely, we’d (1) use OpenBLAS by default everywhere instead of
netlib blas/lapack, and (2) you’d use:

  --with-input=openblas=openblas-tuned

WDYT?

Ludo’.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#49096: [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK.
  2021-06-21 13:00 ` Efraim Flashner
  2021-06-22  7:29   ` Ludovic Courtès
@ 2021-06-22 15:57   ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2021-06-22 15:57 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Florent Pruvost, Emmanuel Agullo, 49096-done

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Fri, Jun 18, 2021 at 06:12:04PM +0200, Ludovic Courtès wrote:
>> From: Ludovic Courtès <ludovic.courtes@inria.fr>
>> 
>> OpenBLAS performs better than LAPACK, the reference implementation.
>> This is also consistent with the choice of BLAS/LAPACK implementations
>> made in most other packages.
>> 
>> * gnu/packages/maths.scm (petsc)[inputs]: Replace LAPACK by OPENBLAS.
>> [arguments]: Pass "--with-openmp=1".

[...]

> It sounds reasonable to me.

Pushed as c7a5c3e0bba2ac3d197b219d21527863308b75dd.

Ludo'.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK.
  2021-06-22  7:29   ` Ludovic Courtès
@ 2021-06-23 12:34     ` zimoun
  0 siblings, 0 replies; 5+ messages in thread
From: zimoun @ 2021-06-23 12:34 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Florent Pruvost, Emmanuel Agullo, Efraim Flashner, 49096

Hi,

On Tue, 22 Jun 2021 at 09:31, Ludovic Courtès <ludo@gnu.org> wrote:
> Efraim Flashner <efraim@flashner.co.il> skribis:
> > On Fri, Jun 18, 2021 at 06:12:04PM +0200, Ludovic Courtès wrote:
>
> [...]
>
> >> Usually there’s no reason to depend on the reference (“Netlib”) BLAS/LAPACK
> >> implementations because they perform poorly.  This change is one way to
> >> bring consistency here.
> >>
> >> Thoughts?
> >>
> >> Ludo’.
> >
> > It sounds reasonable to me.
>
> Cool, thanks for taking a look.

LGTM.


> > As long as you're open to thoughts, perhaps we want to have a discussion
> > (in a new thread) about renaming the input labels for lapack/openblas so
> > it's easier to do 'guix build foo
> > --with-inputs=blas=openblas-tuned-for-my-machine'
>
> We’ve very much interested in that.  However, input labels don’t have a
> role here since ‘--with-input’ matches packages by name.
>
> So most likely, we’d (1) use OpenBLAS by default everywhere instead of
> netlib blas/lapack, and (2) you’d use:
>
>   --with-input=openblas=openblas-tuned

Yeah, it make sense. :-)

Cheers,
simon




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-06-23 12:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18 16:12 [bug#49096] [PATCH] gnu: petsc: Link against OpenBLAS rather than LAPACK Ludovic Courtès
2021-06-21 13:00 ` Efraim Flashner
2021-06-22  7:29   ` Ludovic Courtès
2021-06-23 12:34     ` zimoun
2021-06-22 15:57   ` bug#49096: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).