Live data from Hacker News

Spack – scientific software package manager for supercomputers, Linux, and macOS

spack.io

21–30 of 107 posts

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#21
post #11
post #6

How does it compares to other HPC software managers such as easybuild?

Spack recipes are more python-like, it is less tied to LMod, and its concretization algorithm has no real rival. Easybuild supports recursive modules and features to generalize boilerplate.

[deleted]

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#22
post #4

An unfortunate name, a la Nonce Finance and Git. https://en.m.wiktionary.org/wiki/spack

Have to say I was fairly surprised by this name.

It's a fairly old-fashioned expression, but could well cause some misunderstandings.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#24

What does this offer over the usual suspects brew, linuxbrew, apt… ?

Multiple versions of the same package can be handy: e.g., Python 3.6, 3.8. and 3.10 all handled by the package manager and able to switch between them on a per-session/terminal basis (no need to completely disable a particular install: just adjust $PATH and $LIB as needed).

Able to create pyenv-like environments which can then be 'exported' and sent to other systems/users having Spack so that development/debugging can be done with the same setup:

* https://spack-tutorial.readthedocs.io/en/latest/tutorial_env...

Able to use 'internal' packages (spack install openssl) or external packages (link against /usr/lib/libssl.so) on a per item basis: sometimes you want the newest code, but other times you want the OS package so that you can get security updates 'for free'. Most other system do one or the other: Spack allows you to choose.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#25

Original author here -- since I know that people click the comments to decide whether to read further, here's a (biased?) summary: Spack is aimed at end users, developers, and admins. It's used primarily in HPC at the moment but it would be great to see use outside of the HPC community. Spack supports: 1. Basic installation (spack install foo, foo@3.1.2, foo@3.1.2 +option, etc.) 2. Reproducible environments, via `spa…

> 6. Good support for building against external packages that may already be on your system.

Able to use 'internal' packages (spack install openssl) or external packages (link against /usr/lib/libssl.so) on a per item basis: sometimes you want the newest code, but other times you want the OS package so that you can get security updates 'for free'.

Most other system do one or the other: Spack allows you to choose.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#26
post #4

An unfortunate name, a la Nonce Finance and Git. https://en.m.wiktionary.org/wiki/spack

This is definitely an international blunder. I’d say it’s more socially acceptable in the UK to call someone a c*t than it is to use this word. Can safely say it’ll get zero UK adoption due to the name. Shame.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#27

Original author here -- since I know that people click the comments to decide whether to read further, here's a (biased?) summary: Spack is aimed at end users, developers, and admins. It's used primarily in HPC at the moment but it would be great to see use outside of the HPC community. Spack supports: 1. Basic installation (spack install foo, foo@3.1.2, foo@3.1.2 +option, etc.) 2. Reproducible environments, via `spa…

What do you think about Spack vs. Conda/Mamba? I've been a contented (maybe not "happy") Conda user for years. Is there any reason to switch? I'd be concerned about package availability.

Spack has Anaconda as a package:

* https://spack.readthedocs.io/en/latest/package_list.html#ana...

* https://spack.readthedocs.io/en/latest/replace_conda_homebre...

So you can continue using it, but you also have a super-set of features for other things as well.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#28

Original author here -- since I know that people click the comments to decide whether to read further, here's a (biased?) summary: Spack is aimed at end users, developers, and admins. It's used primarily in HPC at the moment but it would be great to see use outside of the HPC community. Spack supports: 1. Basic installation (spack install foo, foo@3.1.2, foo@3.1.2 +option, etc.) 2. Reproducible environments, via `spa…

lmod integration?

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#29
post #6

How does it compares to other HPC software managers such as easybuild?

If I have to pick one difference, the fundamental one is that Spack does dependency resolution with a solver, while EB does not.

So, in Spack, you write a package.py file (like say the one for gromacs: https://github.com/spack/spack/blob/develop/var/spack/repos/...), and you can build that package with any of the versions/options/dependencies/etc. expressed in the package.

With Easybuild, someone (maybe you?) has to write a specific configuration (easyconfig) for every build you want to do. Want to tweak a version? Write a new easyconfig. The dependencies point at specific versions, too, so now write configs for all the dependencies, and so on. There is a lot of copying/tweaking of file trees in the EB workflow.

Aside from that:

  - Spack has a package database and allows you to query what is installed.
    - EB does not have "uninstall", just `rm -rf`
  - Spack builds from source and also handles binary packages (no binaries in EB)
  - Spack supports environments via `spack.yaml` / `spack.lock`; EB doesn't have that.
  - Spack doesn't require Lmod to work -- you can just `spack load` or `spack env activate` to use packages.
  - Spack builds with RPATH by default (much like Nix does) -- dependency libraries are found automatically even if you run an executable straight from its directory.
There's more but Spack is a package manager, while EB is really set up to automate a certain type of installation common in HPC.

Re: Spack – scientific software package manager for supercomputers, Linux, and macOS

#30

Original author here -- since I know that people click the comments to decide whether to read further, here's a (biased?) summary: Spack is aimed at end users, developers, and admins. It's used primarily in HPC at the moment but it would be great to see use outside of the HPC community. Spack supports: 1. Basic installation (spack install foo, foo@3.1.2, foo@3.1.2 +option, etc.) 2. Reproducible environments, via `spa…

lmod integration?

Yes:

* https://spack.readthedocs.io/en/latest/module_file_support.h...

Both Lmod and (TCL) Modules: can generate either/both.

Post reply on HN