guix-patches
[Top][All Lists]
Advanced

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

[bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple


From: Ludovic Courtès
Subject: [bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple
Date: Mon, 31 Jul 2017 17:16:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hi Dave,

Dave Love <address@hidden> skribis:

> The performance penalty for thread-multiple is supposed to be mitigated
> in the most recent openmpi, but not in this version, and most
> applications are happy with MPI_THREAD_FUNNELED.
>
>>From b860f75ed48c6d15e8f19b80ceede315df4db1fe Mon Sep 17 00:00:00 2001
> From: Dave Love <address@hidden>
> Date: Thu, 27 Jul 2017 15:52:34 +0100
> Subject: [PATCH] gnu: mpi: openmpi: Don't enable thread-multiple. gnu: mpi:
>  openmpi-thread-multiple: Version with thread-multiple enabled.
>
> * gnu/packages/mpi.scm (openmpi): Don't enable thread-multiple.
> The support affects performance significantly.
> (openmpi-thread-multiple): New package.
> ---
>  gnu/packages/mpi.scm | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
> index 54fdd35ad..678d7dd88 100644
> --- a/gnu/packages/mpi.scm
> +++ b/gnu/packages/mpi.scm
> @@ -130,10 +130,10 @@ bind processes, and much more.")
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("perl" ,perl)))
> +    (outputs '("out" "lib" "debug"))

This should go to a separate patch.  Also please check the relative size
of each output and the “typical” closure size of openmpi users, to
motivate the need for a separate “lib” output (the “debug” output is
OK.)

I suspect some of the packages that depend on openmpi need to be changed
to have a dependency on both the “out” and the “lib” outputs, no?

>      (arguments
>       `(#:configure-flags `("--enable-static"
>  
> -                           "--enable-mpi-thread-multiple"

Should we upgrade our openmpi package instead of doing this?

> +    (description (string-append (package-description openmpi)
> +                                "\
> +
> +This version of openmpi has an implementation of MPI_Init_thread that 
> provides
> +MPI_THREAD_MULTIPLE.  This won't work correctly with all transports (such as
> +openib), and the performance is generally worse than the vanilla openmpi
> +package, which only provides MPI_THREAD_FUNNELED."))))

Nitpick: we use literal strings in ‘description’ and ‘strings’ so that
they are picked up by xgettext for translation.

Thanks for looking into this!

Ludo’.





reply via email to

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