🎓GeoAcademyGeoVerse Lab
← AI & Computing Sciences College

High-Performance Computing Department

The High-Performance Computing Department builds students' ability to design and operate massively parallel computing infrastructure, anchored in GPU-accelerated CUDA/OpenCL programming, MPI-based distributed finite element methods, and cluster job scheduling. Students parallelize real large-scale numerical simulation problems - such as seismic modeling - and run and optimize them at petascale. Graduates understand the full hardware-software stack that computation at scale demands and can diagnose and resolve performance bottlenecks in scientific simulations.

⚙️ GeoAcademy System Administration College🖥️ AI & Computing Sciences College🔬 Basic Sciences College⚡ Intelligent Geophysical Exploration College🛢️ Resource & Energy Engineering College🌍 Applied Geoscience Solutions College💼 Economics, Policy & Strategy for the Future College🎓 Education & Training Development College🚀 Innovation & International Collaboration College
Machine Learning DepartmentComputer Vision DepartmentNatural Language Processing DepartmentHigh-Performance Computing DepartmentQuantum Computing DepartmentGenerative AI & Foundation Models CenterReinforcement Learning & Agents CenterAI Safety & Alignment CenterAI for Science CenterRobotics & Embodied AI Center

Field-based Curriculum · 14

This department's curriculum is built directly on the GeoVerse Lab research fields its professors hold — click a field to see how it is taught.

Parallel Algorithm Design & Sorting Networks
Parallel Algorithm Design & Sorting Networks
Using sorting networks as the exemplar, students learn why data-oblivious algori…
Ken Batcher
SIMD Array Processing & Stream Computing Architecture
SIMD Array Processing & Stream Computing Architecture
Students learn the principles and limits of SIMD architecture, where a single in…
Daniel Slotnick
Distributed Computing & Fault-Tolerant Transaction Processing
Distributed Computing & Fault-Tolerant Transaction Processing
This course teaches distributed transactions that complete multi-machine work as…
Jim Gray
Numerical Linear Algebra & Sparse Matrix Methods
Numerical Linear Algebra & Sparse Matrix Methods
Through backward error analysis and the condition number, students learn how rou…
James H. Wilkinson
Finite Element Methods for Large-Scale Simulation
Finite Element Methods for Large-Scale Simulation
This course teaches the finite element method, which delivers numerical answers …
Ray W. Clough
Job Scheduling & Time-Sharing Resource Management
Job Scheduling & Time-Sharing Resource Management
Students learn how time-sharing and job scheduling divide a single processor amo…
Fernando J. Corbató
Memory Hierarchy & Cache Optimization
Memory Hierarchy & Cache Optimization
Students learn how the register-cache-main memory hierarchy exploits locality of…
Maurice Wilkes
Interconnection Networks & Distributed Network Topology
Interconnection Networks & Distributed Network Topology
By contrasting centralized and distributed topologies, students learn the resili…
Paul Baran
Fault Tolerance & Dependable Computing at Scale
Fault Tolerance & Dependable Computing at Scale
This course teaches fault tolerance — designing systems that keep delivering cor…
Jean-Claude Laprie
Parallelizing Compilers & Automatic Code Optimization
Parallelizing Compilers & Automatic Code Optimization
This course teaches automatic parallelization, where the compiler proves and ext…
Frances Allen
Grid/Wide-Area Distributed Resource Sharing
Grid/Wide-Area Distributed Resource Sharing
This course teaches grid computing, which pools resources of many organisations …
Larry Roberts
Parallel & Distributed Storage Systems
Parallel & Distributed Storage Systems
Students learn how distributed storage systems stripe a single file across thous…
Reynold B. Johnson
Iterative Solvers & Large-Scale Matrix Computation
Iterative Solvers & Large-Scale Matrix Computation
This course teaches iterative Krylov subspace methods that solve sparse linear s…
Gene H. Golub
Computer Architecture & Pipelined Processor Design for Scientific Computing
Computer Architecture & Pipelined Processor Design for Scientific Computing
This course teaches the processor internals that govern scientific computing spe…
John Cocke