Guix HPC Blog
hpc.guix.info · Company blog · on HN since 2019
The Guix-HPC team writes about GNU Guix for high-performance computing: reproducible research, package tuning, Jupyter notebooks and performance debugging.
What HN saysHN commenters cite its posts on using Guix without root and on what is in a package, the latter in a debate about building packages.
16HN people shared it
12linked it in comments
13stories submitted
145story points
4 months agolast shared
2019people per year2026
Most-shared posts
- 1What’s in a package6 people · 117 points · first shared 2021 · 13 comments on HN
- 2About4 people · first shared 2020
- 3Tuning packages for a CPU micro-architecture2 people · 2 points · first shared 2022 · 2 comments on HN
- 4Towards Reproducible Jupyter Notebooks1 people · 7 points · first shared 2019 · discussion on HN
- 5GNU Guix: Reproducible research articles, from source code to PDF1 people · 6 points · first shared 2020 · discussion on HN
- 6Guix Targeting the Cray/HPE Slingshot Interconnect1 people · 3 points · first shared 2024 · discussion on HN
- 7Guix-HPC Activity Report, 20231 people · 3 points · first shared 2024 · discussion on HN
- 8Debugging Performance Regressions1 people · 2 points · first shared 2026 · discussion on HN
- 9Guix-HPC Activity Report [pdf]1 people · 2 points · first shared 2021 · 1 comments on HN
- 10Guix-HPC: Faster relocatable packs with Fakechroot1 people · 1 points · first shared 2020 · discussion on HN
- 11Guix HPC Activity Report 20211 people · 1 points · first shared 2022 · discussion on HN
- 12A guide to reproducible research papers1 people · 1 points · first shared 2023 · discussion on HN
- 13Non free1 people · first shared 2024
- 14Back to the future modules for guix packages1 people · first shared 2023
- 15Using guix without being root1 people · first shared 2024
What HN people wrote when they linked it
rekado · 2024-11-28
`guix pack` can create bundles that use a static proot to make them relocatable:
https://hpc.guix.info/blog/2017/10/using-guix-without-being-root/
It also supports other more performant ways, but in some situations proot is the best choice.
mbakke · 2020-06-15
The answer is "all of the above". Guix is largely community-driven, but receives donations[0] as well as sponsored work like the NLnet grant mentioned in the article. In addition some research institutions employ Guix developers[1].
Personally I have used Guix to convert a CentOS "appliance" into a full-blown desktop system, on a professional contract[2].
0: https://guix.gnu.org/blog/2018/gnu-guix-receives-donation-from-the-han…
1: https://hpc.guix.info/
2: https://guix.gnu.org/blog/2019/running-a-guix-xfce-desktop-on-centos-7…
llm_trw · 2024-12-26
Apart from the fact building it the 'non-C way' results in a magic meat package that you have no idea what it contains: https://hpc.guix.info/blog/2021/09/whats-in-a-package/
Guix is also a distro that allows for any number of versions of the same package globally, something that language specific dependancy managers do not.
Distors are there for a reason, and anyone who doesn't understand that reason is just another contributor to the ongoing collapse of the tower of abstractions we've built.
justinsaccount · 2023-10-23
It's not really a good trend when you want to know exactly what is being installed.
https://hpc.guix.info/blog/2021/09/whats-in-a-package/
civodul · 2023-06-08
Good point. It's telling that many Nix vs. Guix discussions focus on three topics: DSL, popularity, and non-free packages. Few people talk about package quality control even though it's rather crucial for day-to-day use.
A while back I wrote about what it means to package something like PyTorch with the kind of quality control Guix has:
https://hpc.guix.info/blog/2021/09/whats-in-a-package/
allan-a · 2023-01-01
Reminds me of the blog post on Guix HPC, "What's in a Package?" and it was specifically focused on problems with PyTorch and approaches with package managers.
https://hpc.guix.info/blog/2021/09/whats-in-a-package/
ssivark · 2022-08-21
On a tangent -- You might want to look into Guix (at least just the package manager, if not the whole system/distribution); it seems quite popular for similar use cases. See, eg: https://hpc.guix.info/about/
Also, with regards to linux, what stops you from making that the default that students onboard to? I would imagine that something like this becomes quite easy if you have a culture where group members help onboard the new ones into the ways of doing things.
arisbe__ · 2021-11-21
I can't answer your question as I am not informed about the subject, but I can add that I am aware that Guix/GuixSD is used for some HPC (see https://hpc.guix.info/about/). Perhaps Nix/NixOS is as well.
If you don't get an answer here try https://nixos.org/community/index.html.
one-punch · 2021-01-22
You might be interested in using Guix [1] for reproducible research, as is reported earlier (for genomics analysis) [2] and still actively developed [3].
As a bonus, Guix and Nix [4] allow for modular and composable pipelines, where you can swap different components (such as to upgrade Python from 3.8 to 3.9, or to enable certain optimizations for some Python libraries, or to run on MacOS and Linux while keeping the whole stack more or less the same), which would be more difficult to do reproducibly with other tools such as Docker (composing Guix or Nix functions are easier than composing DOCKERFILE or Docker Compose).
[1]: https://ambrevar.xyz/guix-advance/
[2]: https://academic.oup.com/gigascience/article/7/12/giy123/5114263
[3]: https://hpc.guix.info/blog/2020/11/hpc-reproducible-research-in-guix-1…
[4]: https://builtwithnix.org/
rudolph9 · 2020-12-01
Rust may or may not be a good choice for research scientist needs but the biggest missing piece in my opinion is reproducibility.
I haven’t worked with it extensively (I use nix on my workstation) but I’m a big fan of what the Guix folks are doing targeting the scientific community https://hpc.guix.info/blog/2019/05/gnu-guix-1.0-foundation-for-hpc-rep…
ryukafalz · 2019-10-12
Containers as a technology are nice, but it's easy to fall back into the same traps that make software non-reproducible using containers as well. You can precisely specify all your dependencies, but it often takes a lot of effort to make that happen.
I'm a fan of the approach Guix developers are taking for scientific computing, because it makes reproducible software simple enough for people to use without too many headaches: https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebo…
otikik · 2021-09-23
I didn't know what was guix so I clicked on the "About" page (https://hpc.guix.info/about/).
> Guix-HPC is an effort to optimize [GNU Guix] for reproducible scientific workflows in high-performance computing (HPC).
Ok this is like GNU Guix, but for HPC systems (which are helpfully defined). But what is "GNU Guix", though? Ok I will click the link (https://guix.gnu.org/) :
> *Liberating*. Guix is an advanced distribution of the [GNU operating system] developed by the GNU Project—which respects the freedom of computer users.
I happen to know what GNUOS is, otherwise I would have to click on yet another link to find out what it is (the name at least suggests it's an Operative System).
Guix needs extra help on the initial copy page though. Is "more advanced" than GNUOS... does that mean that GNUOS isn't "advanced" (How so)? It also says that Guix "respects the freedom of computer users". That seems to imply that GNUOS does not. Is that the case?
TL;DR: The "about" page in guix-hpc and guix should start with "Guix/Guix-hpc is an operative system." Then they can talk about how they're based on this and that. And Guix's first page copy text needs to be completely rewritten.