summaryrefslogtreecommitdiff
path: root/gnu/packages/parallel.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/parallel.scm')
-rw-r--r--gnu/packages/parallel.scm192
1 files changed, 85 insertions, 107 deletions
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 9874b2b910..1bd9b559e5 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015-2018, 2020-2025 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
@@ -10,13 +10,15 @@
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024, 2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -78,14 +80,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20250722")
+ (version "20250922")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "0fw4qzjyikyql09nhjvz8jjvwaszwwrw0pn4qg9mmpww2bs1za4i"))
+ (base32 "0ax3cm9bzr6krl575mzmlbx7867pnx5acnyygpcxqzgg4lqxqggf"))
(snippet
'(begin
(use-modules (guix build utils))
@@ -337,10 +339,10 @@ minimal slurm package BASE-SLURM."
;; As noted in the link, YY.MM is the release scheme, and the 'maintenance'
;; digit does not introduce incompatibilities.
-(define-public slurm-minimal-23.02
+(define-public slurm-minimal-23.11
(package
(inherit slurm-minimal)
- (version "23.02.6")
+ (version "23.11.11")
(source (origin
(inherit (package-source slurm))
(method url-fetch)
@@ -351,16 +353,16 @@ minimal slurm package BASE-SLURM."
(search-patches "slurm-23-salloc-fallback-shell.patch"))
(sha256
(base32
- "08rz3r1rlnb3pmfdnbh542gm44ja0fdy8rkj4vm4lclc48cvqp2a"))))))
+ "0pg4liysbppfgynwsj3i1lzr60rnybnvzja37x6xgyjvxgf165sa"))))))
-(define-public slurm-23.02 (make-slurm slurm-minimal-23.02))
+(define-public slurm-23.11 (make-slurm slurm-minimal-23.11))
(define-public slurm-minimal-22.05
(package
- (inherit slurm-minimal-23.02)
+ (inherit slurm-minimal-23.11)
(version "22.05.1")
(source (origin
- (inherit (package-source slurm-minimal-23.02))
+ (inherit (package-source slurm-minimal-23.11))
(method url-fetch)
(uri (string-append
"https://download.schedmd.com/slurm/slurm-"
@@ -372,102 +374,6 @@ minimal slurm package BASE-SLURM."
(define-public slurm-22.05 (make-slurm slurm-minimal-22.05))
-(define-public slurm-minimal-21.08
- (package
- (inherit slurm-minimal-22.05)
- (version "21.08.8")
- (source (origin
- (inherit (package-source slurm-minimal-22.05))
- (method url-fetch)
- (uri (string-append
- "https://download.schedmd.com/slurm/slurm-"
- version ".tar.bz2"))
- (patches '()) ;drop 'salloc' patch
- (sha256
- (base32
- "1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf"))))
-
- ;; This and older versions of slurm have PMIx support but they seem to
- ;; require an older version of openpmix. Disable PMIx support.
- (inputs (modify-inputs (package-inputs slurm-minimal-22.05)
- (delete "openpmix")))))
-
-(define-public slurm-21.08 (make-slurm slurm-minimal-21.08))
-
-(define-public slurm-minimal-20.11
- (package
- (inherit slurm-minimal-21.08)
- (version "20.11.9")
- (source (origin
- (inherit (package-source slurm-minimal-21.08))
- (method url-fetch)
- (uri (string-append
- "https://download.schedmd.com/slurm/slurm-"
- version ".tar.bz2"))
- (patches '()) ;drop 'salloc' patch
- (sha256
- (base32
- "0xq2d6dm285y541dyg1h66z7svsisrq8c81ag0f601xz1cn3mq9m"))))))
-
-(define-public slurm-20.11 (make-slurm slurm-minimal-20.11))
-
-(define-public slurm-minimal-20.02
- (package
- (inherit slurm-minimal-20.11)
- (version "20.02.6-1")
- (source (origin
- (inherit (package-source slurm-minimal-20.11))
- (method url-fetch)
- (uri (string-append
- "https://download.schedmd.com/slurm/slurm-"
- version ".tar.bz2"))
- (patches '()) ;drop 'salloc' patch
- (sha256
- (base32
- "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc"))))
- (arguments
- (substitute-keyword-arguments (package-arguments slurm-minimal-20.11)
- ((#:configure-flags flags ''())
- #~(append '("CFLAGS=-O2 -g -fcommon" "LDFLAGS=-fcommon")
- #$flags))))))
-
-(define-public slurm-20.02 (make-slurm slurm-minimal-20.02))
-
-(define-public slurm-minimal-19.05
- (package
- (inherit slurm-minimal-20.02)
- (version "19.05.8")
- (source (origin
- (inherit (package-source slurm-minimal-20.02))
- (method url-fetch)
- (uri (string-append
- "https://download.schedmd.com/slurm/slurm-"
- version ".tar.bz2"))
- (patches '()) ;drop 'salloc' patch
- (sha256
- (base32
- "10c9j4a9a6d4ibpf75006mn03p8xgpaprc247x2idakysjf2fw43"))))))
-
-(define-public slurm-19.05 (make-slurm slurm-minimal-19.05))
-
-;; Same as Debian 10
-(define-public slurm-minimal-18.08
- (package
- (inherit slurm-minimal-19.05)
- (version "18.08.9")
- (source
- (origin
- (inherit (package-source slurm-minimal-20.02))
- (uri (string-append
- "https://download.schedmd.com/slurm/slurm-"
- version ".tar.bz2"))
- (patches '()) ;drop 'salloc' patch
- (sha256
- (base32
- "1bgrpz75m7l4xhirsd0fvnkzlkrl8v2qpmjcz60barc5qm2kn457"))))))
-
-(define-public slurm-18.08 (make-slurm slurm-minimal-18.08))
-
(define-public slurm-drmaa
(package
(name "slurm-drmaa")
@@ -497,6 +403,78 @@ can use the same high-level API to link their software with different
cluster/resource management systems.")
(license license:gpl3+)))
+(define-public python-pathos
+ (package
+ (name "python-pathos")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathos" version))
+ (sha256
+ (base32 "0m077iw5fml4r7csgi4j7ngvdmg1y9jxly64gi56argq1qnr3m5s"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ ;; XXX: Tests freeze when invoked with Pytest directly, this step
+ ;; is taken from project's tox.ini.
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (invoke "python" "./pathos/tests/__main__.py")))))))
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-dill
+ python-multiprocess
+ python-pox
+ python-ppft))
+ (home-page "https://pypi.org/project/pathos/")
+ (synopsis
+ "Parallel graph management and execution in heterogeneous computing")
+ (description
+ "Python-pathos is a framework for heterogeneous computing. It provides a
+consistent high-level interface for configuring and launching parallel
+computations across heterogeneous resources. Python-pathos provides
+configurable launchers for parallel and distributed computing, where each
+launcher contains the syntactic logic to configure and launch jobs in an
+execution environment.")
+ (license license:bsd-3)))
+
+(define-public python-ppft
+ (package
+ (name "python-ppft")
+ (version "1.7.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ppft" version))
+ (sha256
+ (base32
+ "15hvw39m2r3chm8zbqgkld0m1cl049rxidln4a6jnk72rx479xzk"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (invoke "python" "./ppft/tests/__main__.py")))))))
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://pypi.org/project/ppft/")
+ (synopsis "Fork of Parallel Python")
+ (description
+ "This package is a fork of Parallel Python. The Parallel Python
+module (@code{pp}) provides an easy and efficient way to create
+parallel-enabled applications for @dfn{symmetric multiprocessing} (SMP)
+computers and clusters. It features cross-platform portability and dynamic
+load balancing.")
+ (license license:bsd-3)))
+
(define-public python-schwimmbad
(package
(name "python-schwimmbad")
@@ -749,7 +727,7 @@ single-instruction multiple-data (SIMD) intrinsics.")
(("#define PMIX_CONFIGURE_CLI .*")
"#define PMIX_CONFIGURE_CLI \"[scrubbed]\"\n")))))))
(inputs (list libevent `(,hwloc "lib") zlib))
- (native-inputs (list perl python python-cython))
+ (native-inputs (list perl python python-cython-0))
(synopsis "PMIx library")
(description
"PMIx is an application programming interface standard that provides