awesome-high-performance-computing
A curated list of awesome high performance computing resources
https://github.com/trevor-vincent/awesome-high-performance-computing
Last synced: 14 days ago
JSON representation
-
Software
-
Trends
- Flamegraphs - Visualization tool for profiling software, allowing quick identification of performance bottlenecks.
- fio - Flexible I/O tester for benchmarking and stress/hardware verification.
- SPEC CPU Benchmark - A benchmark suite designed to provide a comparative measure of compute-intensive performance across the widest practical range of hardware.
- STREAM Memory Bandwidth Benchmark - Measures sustainable memory bandwidth and the corresponding computation rate for simple vector kernels.
- Intel MPI benchmarks - A set of benchmarks designed to measure the performance and scalability of MPI implementations on Intel architectures.
- OSU microbenchmarks - A collection of microbenchmarks designed to evaluate the performance of MPI implementations across various communication protocols and message sizes.
- hpctoolkit - An integrated suite of tools for measurement and analysis of program performance on computers ranging from desktops to supercomputers.
- Differential Flamegraphs - A visualization technique developed by Brendan Gregg that highlights differences between performance profiles, making it easier to spot performance regressions or improvements.
- the yt project - An open-source, Python-based package for analyzing and visualizing volumetric data.
- visit
- vedo - A lightweight and powerful python module for scientific analysis and visualization of 3D objects and point clouds based on VTK.
- Amira - A powerful, multifaceted 3D software platform for visualizing, manipulating, and understanding Life Science and bio-medical data coming from all types of sources.
- Scientific Visualization Wiki - A comprehensive guide to the field of scientific visualization, detailing techniques, tools, and applications.
- petsc
- ginkgo
- GSL
- Scalapack
- trilinos
- tnl project
- Software utilization at UK National Supercomputing Service, ARCHER2
- Comparison of cluster software
- List of cluster management software
- Intel DAOS
- Openfoam HPC benchmark - A benchmarking suite for evaluating the High Performance Computing capabilities of OpenFOAM, an open-source CFD software, under various computational loads.
- fio flexible I/O tester
- Ceph - An open-source distributed storage system.
- paraview - An open-source, multi-platform data analysis and visualization application.
- EESSI - A shared stack of scientific software installations.
- Metal - Apple's GPU API
- Intel DAOS - A software-defined scale-out object store for HPC applications.
- Geekbench - Cross platform benchmarking tool
- Empirical Roofline Tool (ERT) - Create empirical roofline plots, alternative to intel vtune for any machine
- Roofline Visualizer for ERT - Visualizer for ERT
- Slurm Web - Open source web dashboard for Slurm HPC clusters.
- Triton - Triton is a language and compiler for parallel programming
- hdf5 - The Hierarchical Data Format version 5 (HDF5), is an open source file format that supports large, complex, heterogeneous data.
- alpaka - The alpaka library is a header-only C++17 abstraction library for accelerator development
- async-rdma - A framework for writing RDMA applications with high-level abstraction and asynchronous APIs
- CAF - An Open Source Implementation of the Actor Model in C++
- Codon - high-performance Python compiler that compiles Python code to native machine code without any runtime overhead
- FastFlow - High-performance Parallel Patterns in C++
- Galois - A C++ Library to Ease Parallel Programming with Irregular Parallelism
- Heteroflow - Concurrent CPU-GPU Task Programming using Modern C++
- highway - Performance portable SIMD intrinsics
- HPX - A C++ Standard Library for Concurrency and Parallelism
- Horovod - Distributed deep learning training framework for TensorFlow, Keras, PyTorch, and Apache MXNet
- Intel ISPC - SPMD compiler
- Kompute - The general purpose GPU compute framework for cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends)
- Kokkos - A C++ Programming Model for Writing Performance Portable Applications on HPC platforms
- Kubeflow MPI Operator - MPI Operator for Kubeflow
- Legion - Distributed heterogeneous programming library
- MOGSLib - User defined schedulers
- mpi4jax - Zero-copy mpi for jax arrays
- Pollux - Message Passing Cloud orchestrator
- Pyfi - Distributed flow and computation system
- RAJA - Architecture and programming model portability for HPC applications
- RaftLib - A C++ Library for Enabling Stream and Dataflow Parallel Computation
- Scalix - Data parallel computing framework
- Taichi - Parallel programming language for high-performance numerical computations in Python
- Taskflow - A Modern C++ Parallel Task Programming Library
- Transwarp - A Header-only C++ Library for Task Concurrency
- UCX - Optimized production proven-communication framework
- Zluda - Run unmodified CUDA applications with near-native performance on Intel AMD GPUs.
- HyperQueue - HyperQueue is a tool designed to simplify execution of large workflows (task graphs) on HPC clusters.
- cpufetch - A simple yet fancy CPU architecture fetching tool.
- gpufetch - A tool similar to cpufetch, but for fetching GPU architecture.
- Likwid - Provides all information about the supercomputer/cluster.
- PRK - Parallel Research Kernels - A collection of kernels for parallel programming research.
- Bluebanquise - An open-source cluster management tool.
- DeepOps - Nvidia's GPU infrastructure and automation tools for Kubernetes and Slurm clusters.
- Ruse - A tool for managing software environments in HPC clusters.
- sstack - A tool to install multiple software stacks such as Spack, EasyBuild, and Conda.
- McKernel - A hybrid kernel that combines Linux and a lightweight kernel designed to provide high performance for HPC applications.
- arbiter2 - Monitors and protects interactive nodes with cgroups.
- Charliecloud - Lightweight container solution for high-performance computing (HPC).
- genv - GPU Environment Management for managing and scheduling GPU resources.
- Grafana - Open-source platform for monitoring and observability, visualizing metrics.
- HPC Rocket - Allows submitting Slurm jobs in Continuous Integration (CI) pipelines.
- perun - Energy monitor for HPC systems, focusing on performance and energy efficiency.
- redun - Workflow engine that emphasizes simplicity, reliability, and scalability.
- remora - Tool for monitoring and reporting the performance of batch jobs on HPC systems.
- ruptime - A utility for monitoring the status of computational jobs and systems.
- Slurmvision slurm dashboard - A dashboard for monitoring and managing Slurm jobs.
- slurm docker cluster - A Slurm cluster implemented using Docker containers, for development and testing.
- Stui slurm dashboard for the terminal - A terminal-based UI for managing and monitoring Slurm clusters.
- Vaex - A Python library for lazy Out-of-Core DataFrames (similar to Pandas), to visualize and explore big tabular datasets.
- seer modern gui for gdb - A graphical user interface for GDB, aiming to improve the debugging experience with modern features and visuals.
- Open Cluster Scheduler - A scalable HPC/AI workload manager based on SGE.
- CANN - Compute Architecture for Neural Networks for Huawei Ascend GPUs
- Charm++ - Parallel Programming with Migratable Objects
- DeepSpeed - An easy-to-use deep learning optimization software suite that enables unprecedented scale and speed for Deep Learning Training and Inference
- HIP - HIP is a C++ Runtime API and Kernel Language for AMD/Nvidia GPU
- Intel TBB - Threading Building Blocks
- NVSHMEM - GPU-accelerated implementation of the OpenSHMEM programming model developed by NVIDIA
- OpenSHMEM - OpenSHMEM is a one-sided, PGAS-based parallel programming model enabling direct remote memory access for high-performance computing
- Pyper - concurrent python made simple
- ClusterVisor - Cluster management tool by Advanced Clustering.
- BeeGFS - A parallel file system designed for performance-critical environments.
- NVIDIA Base Command Manager (formerly Bright Cluster Manager) - Software for deploying and managing HPC and AI server clusters.
- fpsync - A tool for fast parallel data transfer using fpart and rsync.
- rocks - An open-source Linux cluster distribution.
- SGE - A resource management software for large clusters of computers.
- Spectrum LSF - Workload management platform and job scheduler for distributed high performance computing (HPC)
- totalview - A comprehensive source code analysis and debugging tool designed for complex software running on HPC systems, supporting a wide range of languages and architectures.
- demonspawn - A framework for automated execution of benchmarks and simulations, designed for HPC environments.
- Google benchmark - A microbenchmark support library for C++ that tracks performance over time.
- kerncraft - A tool for analytical modeling of loop performance and cache behavior on HPC systems.
- scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python.
- The Bandwidth Benchmark - A tool for measuring memory bandwidth across various CPUs and systems.
- bytehound memory profiler - A detailed memory profiler for tracking down memory issues and leaks.
- IBM Spectrum Scale Key Performance Indicators (KPI) - Provides key performance indicators for IBM Spectrum Scale, aiding in performance tuning and monitoring.
- Ior - A parallel file system I/O benchmarking tool used widely in HPC for testing storage systems.
- ngstress - A versatile tool for stressing various subsystems of a computer to find hardware faults or to benchmark performance.
- mixbench - A benchmark suite designed to evaluate CPUs and GPUs across different compute and memory operations.
- pmu-tools (toplev) - Performance monitoring tools for modern Intel CPUs, offering detailed insights into hardware and application performance.
- core-to-core-latency - A diagnostic tool designed to measure and report the latency between CPU cores, aiding in the optimization of parallel computing tasks.
- speedscope - An interactive, web-based viewer for performance profiles of software. It supports various formats and provides a flamegraph visualization to identify hot paths efficiently.
- Hyperfine - A command-line benchmarking tool that provides a simple and user-friendly means to compare the performance of commands, featuring statistical analysis across multiple runs.
- vftrace - A tracing tool specifically designed for the NEC SX-Aurora TSUBASA Vector Engine, enabling detailed performance analysis of vectorized code.
- tinymembench - A simple memory benchmark tool, focusing on benchmarking memory bandwidth and latency with minimal dependencies, suitable for various platforms.
- Empirical Roofline Tool (ERT) - Create empirical roofline plots, alternative to intel vtune for any machine
- Roofline Visualizer for ERT - Visualizer for ERT
- Caliper - A Performance Analysis Toolbox in a Library
- KDiskMark - Benchmarking Tool For SSD/HDD Drives
- OpenBenchmarking - Open benchmarks on a variety of algorithms and hardware
- Phoronix Test Suite - Benchmarking suite for Linux
- Palanteer Python/C++ Profiler - Profiler for both Python and C++
- ADIOS2 - The Adaptable IO System version 2, designed for flexible and efficient I/O for scientific data, supporting a wide range of HPC simulations.
- visit - An Open Source, interactive, scalable, visualization, animation and analysis tool.
- WebDataset - library for writing I/O pipelines for large datasets.
- mimalloc memory allocator
- jemalloc memory allocator
- tcmalloc memory allocator
- Horde memory allocator
- SIMD Info
- OKA - Analytics and reporting tool for HPC schedulers: helps administrators and users to understand how compute resources are used, and optimize their usage.
- Velda - A modern cluster management and job scheduler, with personalizable dev-containers and scale-to-cloud capabilities.
- Charliecloud - Lightweight container solution for high-performance computing (HPC).
- RunMat - MATLAB-syntax runtime with automatic CPU/GPU execution and fused array math kernels.
- Dispenso - Meta/facebook C++ Task Library
- MrPackMod - TACC Alternative to Easybuild/Spack
- Summary of C/C++ debugging tools - An overview of various debugging tools available for C/C++ applications, focusing on HPC environments.
- HECBioSim Benchmarks - The HECBioSim benchmark suite consists of a set of simple benchmarks for a number of popular Molecular Dynamics (MD) engines
- JUPITER Benchmark Suite - The UPITER Benchmark Suite incorporates 16 applications from various domains. It was designed for and used in the procurement of JUPITER, the first European exascale supercomputer.
- s9s - TUI for SLURM cluster management
- OpenCL Cross-Hardware PhysX Benchmarks - Benchmark across all types of GPU, CPU
- MLPerf benchmarks
- Flopper.io - Comparison of GPUs
- slop - "top"-like command for slurm clusters
- CUDA-oxide - custom rustc backend for compiling GPU kernels in pure Rust
- cpuid instruction note - A detailed note on the CPUID instruction used for processor identification.
- lazyslurm - A lazygit-style terminal UI for Slurm. Monitor jobs, tail logs, and inspect nodes and partitions.
- srunx - Python toolkit for managing SLURM jobs and workflows. Provides a CLI (sbatch / squeue / scancel parity), a FastAPI Web UI, an MCP server for natural-language control from Claude, YAML workflows with parameter sweeps and inter-job dependencies, GPU resource monitoring, SSH-based remote execution with rsync project sync, and Slack notifications.
-
Programming Languages
Sub Categories
Other/Wikis
609
Trends
247
Cloud
19
Most Recent List of the Top500 Supercomputers
18
GPU
13
Interconnects/Topology
11
CPU
10
History
6
Vendors (Work in Progress)
5
Student Opportunities / Workshops
4
Custom/FPGA/ASIC/APU
4
A Few Upcoming Supercomputers
3
TPU/Tensor Cores
2
Many integrated core processor (MIC)
1
Certification
1
Keywords
hpc
16
gpu
9
python
9
mpi
7
parallel-computing
7
parallel-programming
7
cuda
7
linux
7
cpp
7
c-plus-plus
7
gpu-programming
6
machine-learning
6
rust
5
profiling
5
c
4
benchmarking
4
parallel
4
high-performance-computing
4
heterogeneous-parallel-programming
4
deep-learning
4
benchmark
4
intel
3
openmp
3
hip
3
data-science
3
compiler
3
performance-analysis
3
performance
3
cli
3
pytorch
3
slurm
3
distributed-computing
3
profiler
3
scientific-computing
3
gpu-computing
3
disk
2
simd
2
macos
2
radiuss
2
shmem
2
jit
2
instrumentation
2
header-only
2
awesome-list
2
awesome
2
heterogeneous-computing
2
terminal
2
pgas
2
nvidia-gpu
2
command-line
2