diff options
Diffstat (limited to 'gnu/packages/parallel.scm')
-rw-r--r-- | gnu/packages/parallel.scm | 192 |
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 |