unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#27917] high performance fabric support for openmpi
@ 2017-08-02 13:47 Dave Love
  2017-08-17 22:36 ` bug#27917: " Marius Bakke
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Love @ 2017-08-02 13:47 UTC (permalink / raw)
  To: 27917

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

This adds RDMA support to openmpi, and also the ofi (libfabric) mtl.

It still needs psm(2)/infinipath support.  I don't know where that
should go in the source; libpsm(2) makes sense in rdma-core, like mlx5,
but has separate sources.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-Add-libfabric.patch --]
[-- Type: text/x-diff, Size: 2060 bytes --]

From e6384acc4e486e5668c99a6d168c2543328e07b0 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Wed, 2 Aug 2017 14:22:49 +0100
Subject: [PATCH 2/2] gnu: Add libfabric.

* gnu/packages/linux.scm (libfabric): New function.
---
 gnu/packages/linux.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index dd9c34999..57a27d2da 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4306,3 +4306,34 @@ tool, to understand the type of environment a process runs in, and for
 comparing system environments.")
    (home-page "http://github.com/jamesodhunt/procenv/")
    (license license:gpl3+)))
+
+(define-public libfabric
+  (package
+    (name "libfabric")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/ofiwg/libfabric/releases/download/v"
+                       version "/libfabric-" version ".tar.bz2"))
+       (sha256
+        (base32 "19l2m1frna1l765z4j7wl8hp4rb9wrh0hy5496685hd183hmy5pv"))))
+    (build-system gnu-build-system)
+    (inputs `(("rdma-core" ,rdma-core)
+              ;; add psm, psm(2)
+              ("libnl" ,libnl)))
+    (home-page "http://ofiwg.github.io/libfabric/")
+    (synopsis "Open Fabric Interfaces")
+    (description
+     "OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric
+communication services to applications.  OFI is best described as a collection
+of libraries and applications used to export fabric services.  The key
+components of OFI are: application interfaces, provider libraries, kernel
+services, daemons, and test applications.
+
+Libfabric is a core component of OFI.  It is the library that defines and
+exports the user-space API of OFI, and is typically the only software that
+applications deal with directly.  It works in conjunction with provider
+libraries, which are often integrated directly into libfabric.")
+    (license (list license:bsd-3 license:gpl2)))) ;dual
-- 
2.11.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0001-gnu-openmpi-Add-RDMA-and-libfabric-support.patch --]
[-- Type: text/x-diff, Size: 862 bytes --]

From 585095b2facaf812e2584f2470c43c53ce0ca834 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Wed, 2 Aug 2017 14:11:54 +0100
Subject: [PATCH 1/2] gnu: openmpi: Add RDMA and libfabric support.

* gnu/packages/mpi.scm (openmpi)[inputs]: Add rdma-core, libfabric.
---
 gnu/packages/mpi.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index b17d81664..5290c5c98 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -139,7 +139,9 @@ bind processes, and much more.")
     (build-system gnu-build-system)
     (inputs
      `(("hwloc" ,hwloc "nogui")
-       ("gfortran" ,gfortran)))
+       ("gfortran" ,gfortran)
+       ("rdma-core" ,rdma-core)
+       ("libfabric" ,libfabric)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("perl" ,perl)))
-- 
2.11.0


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

* bug#27917: high performance fabric support for openmpi
  2017-08-02 13:47 [bug#27917] high performance fabric support for openmpi Dave Love
@ 2017-08-17 22:36 ` Marius Bakke
  2017-08-23 10:17   ` [bug#27917] " Dave Love
  0 siblings, 1 reply; 5+ messages in thread
From: Marius Bakke @ 2017-08-17 22:36 UTC (permalink / raw)
  To: Dave Love, 27917-done

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

Dave Love <fx@gnu.org> writes:

> This adds RDMA support to openmpi, and also the ofi (libfabric) mtl.

Awesome!

> It still needs psm(2)/infinipath support.  I don't know where that
> should go in the source; libpsm(2) makes sense in rdma-core, like mlx5,
> but has separate sources.

Can it not be built as a standalone package?

> From e6384acc4e486e5668c99a6d168c2543328e07b0 Mon Sep 17 00:00:00 2001
> From: Dave Love <fx@gnu.org>
> Date: Wed, 2 Aug 2017 14:22:49 +0100
> Subject: [PATCH 2/2] gnu: Add libfabric.
>
> * gnu/packages/linux.scm (libfabric): New function.

[...]

> +    (inputs `(("rdma-core" ,rdma-core)
> +              ;; add psm, psm(2)

Added a "TODO: ".

> +              ("libnl" ,libnl)))
> +    (home-page "http://ofiwg.github.io/libfabric/")
> +    (synopsis "Open Fabric Interfaces")
> +    (description
> +     "OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric
> +communication services to applications.  OFI is best described as a collection
> +of libraries and applications used to export fabric services.  The key
> +components of OFI are: application interfaces, provider libraries, kernel
> +services, daemons, and test applications.
> +
> +Libfabric is a core component of OFI.  It is the library that defines and
> +exports the user-space API of OFI, and is typically the only software that
> +applications deal with directly.  It works in conjunction with provider
> +libraries, which are often integrated directly into libfabric.")
> +    (license (list license:bsd-3 license:gpl2)))) ;dual

This is the FreeBSD license (aka BSD-2).

> * gnu/packages/mpi.scm (openmpi)[inputs]: Add rdma-core, libfabric.

Applied both, thanks!

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

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

* [bug#27917] high performance fabric support for openmpi
  2017-08-17 22:36 ` bug#27917: " Marius Bakke
@ 2017-08-23 10:17   ` Dave Love
  2017-08-31 12:39     ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Love @ 2017-08-23 10:17 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 27917-done

Marius Bakke <mbakke@fastmail.com> writes:

>> It still needs psm(2)/infinipath support.  I don't know where that
>> should go in the source; libpsm(2) makes sense in rdma-core, like mlx5,
>> but has separate sources.
>
> Can it not be built as a standalone package?

Yes, but I don't see why it should be treated differently from, e.g.,
Mellanox support, if it doesn't significantly increase the closure.
(PSM is probably more important than some of the hardware support in
rdma-core.)  If you're using verbs rather than the PSM interface, which
I think is possible with OPA (psm2) as well as Infinipath/True Scale,
you'll get rather obscure errors if the hardware support is missing.
It's a common problem with hardware support (e.g. mlx4) in separate
packages without suitable dependencies, as in current RHEL, so I think
psm should at least be a dependency.

>> +    (license (list license:bsd-3 license:gpl2)))) ;dual
>
> This is the FreeBSD license (aka BSD-2).

Oops!  I'm usually more careful.  That reminds me of something I should
raise about licences generally...

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

* [bug#27917] high performance fabric support for openmpi
  2017-08-23 10:17   ` [bug#27917] " Dave Love
@ 2017-08-31 12:39     ` Ludovic Courtès
  2017-09-01 11:34       ` Dave Love
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2017-08-31 12:39 UTC (permalink / raw)
  To: Dave Love; +Cc: 27917-done

Dave Love <fx@gnu.org> skribis:

> Marius Bakke <mbakke@fastmail.com> writes:

[...]

>>> +    (license (list license:bsd-3 license:gpl2)))) ;dual
>>
>> This is the FreeBSD license (aka BSD-2).
>
> Oops!  I'm usually more careful.

Give M-x guix-licenses a try if you haven’t already.  :-)

Ludo’.

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

* [bug#27917] high performance fabric support for openmpi
  2017-08-31 12:39     ` Ludovic Courtès
@ 2017-09-01 11:34       ` Dave Love
  0 siblings, 0 replies; 5+ messages in thread
From: Dave Love @ 2017-09-01 11:34 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 27917-done

Ludovic Courtès <ludo@gnu.org> writes:

> Dave Love <fx@gnu.org> skribis:
>
>> Marius Bakke <mbakke@fastmail.com> writes:
>
> [...]
>
>>>> +    (license (list license:bsd-3 license:gpl2)))) ;dual
>>>
>>> This is the FreeBSD license (aka BSD-2).
>>
>> Oops!  I'm usually more careful.
>
> Give M-x guix-licenses a try if you haven’t already.  :-)
>
> Ludo’.

I hadn't, but that doesn't help with checking the package description as
far as I can see.  licencecheck support would do, but for lint use it
would need a translation of licence tags and have to account for some
packages using a module prefix with them.

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

end of thread, other threads:[~2017-09-01 11:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-02 13:47 [bug#27917] high performance fabric support for openmpi Dave Love
2017-08-17 22:36 ` bug#27917: " Marius Bakke
2017-08-23 10:17   ` [bug#27917] " Dave Love
2017-08-31 12:39     ` Ludovic Courtès
2017-09-01 11:34       ` Dave Love

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).