/home/geb

Software for Science in HPC

It is intended for students who are new to the field. There is no claim to completeness.

Do I need Linux? If so, which?

No. Windows and MacOS also work well.
However, it is a natural platform for science with Linux-based HPC systems.

The actual distro does not really matter for laptops or desktops.
Many are happy with Debian, Ubuntu, Fedora, Arch, or another distribution.

Again, Linux desktop environments are primarily a matter of taste. Gnome, KDE, and XFCE are relatively widespread and recommended to begin with.

Is \(\LaTeX\) of any help?

You’d better learn it quickly.

Bash & Linux

  • Arch wiki One of the best Linux wikis out there.
  • Bash Reference Manual
  • Bat Properly formatted cat command.
  • Borg Deduplicating backups.
  • Configure SSH Configure SSH properly.
  • Dolphin A file manager.
  • Evince A document viewer.
  • Gdu go DiskUsage()
  • htop An interactive process viewer.
  • KeePassXC Cross-Platform Password Manager.
  • Meld Diff and merge tool.
  • oh-my-zsh A framework for managing Zsh configurations.
  • Okular A document viewer.
  • rdfind Find duplicate files utility.
  • Ripgrep Emulates grep, based on Rust, pretty quick.
  • Ripgrep-all Search for regex in a multitude of file types.
  • RStudio An IDE for R.
  • Shellcheck Shell script analysis. Available for CLI and VS Code.
  • Spectacle Capturing desktop screenshots.
  • tldr Collection of help pages for command-line tools.
  • Ubuntu wiki Another good one.
  • VeraCrypt Disk encryption.
  • Vorta Optional GUI for Borg backup.
  • VSCode An IDE.
  • xclip Command line interface to the X11 clipboard.
  • xsv A fast CSV command line toolkit written in Rust.
  • Yakuake Drop-down terminal.
  • zsh A slightly more powerful alternative to the Bash shell.

Data Manipulation and Visualization

  • Manim: A Python framework for creating mathematical animations.
  • MatPlotLib: Plotting with Python.
  • ParaView: Open source data analysis and visualization.
  • Slicer3D: 3D Slicer is a free, open source and multi-platform software package widely used for medical, biomedical, and related imaging research.

Libraries

  • BLAS Basic Linear Algebra Subprograms.
  • Intel MKL Intel oneAPI Math Kernel Library.
  • LAPACK Linear Algebra PACKage.

Machine Learning

  • PyTorch An open source machine learning framework that accelerates the path from research prototyping to production deployment.
  • scikit-learn Simple and efficient tools for predictive data analysis.
  • Tensorflow An end-to-end open source machine learning platform.

Math

  • NASA, Tensors An Introduction to Tensors for Students, of Physics and Engineering.
  • Octave CLI Proper CLI calculator.
  • Wolfram Large math resource.
  • WxMaxima Document based interface for the computer algebra system Maxima.

Numerical Software

  • METIS Graph Partitioning.
  • ParMETIS Graph Partitioning.
  • PETSc Portable, Extensible Toolkit for Scientific Computation.
  • Scotch Graph Partitioning.

Parallel Programming and Performance

  • Altair PBS: Workload Manager and Job Scheduler for HPC and High-throughput Computing.
  • ARM Forge: HPC debugger.
  • HLRS Wiki: Most of the stuff may be applied to other clusters as well.
  • Likwid: Performance monitoring and benchmarking suite.
  • OpenMP: Multi-platform shared-memory parallel programming.
  • Open-MPI: Open source implementation of the Message Passing Interface (MPI).
  • PAPI: Performance Application Programming Interface.
  • Tmpi: Debugging via tmux and gdb with several threads “synchronized” processes in parallel.

Publication, Presentations, Graphics, …