Application Context
|
Case Study: Profiling and Optimization on Advanced Cluster Architectures
|
Performance Analysis
|
Case Study: Profiling and Optimization on Advanced Cluster Architectures
|
Vectorization & Parallelization
|
Case Study: Profiling and Optimization on Advanced Cluster Architectures
|
Appendix
|
Case Study: Profiling and Optimization on Advanced Cluster Architectures
|
C/R Background
|
Checkpointing
|
Types of C/R
|
Checkpointing
|
About C
|
Introduction to C Programming
|
Getting Started
|
Introduction to C Programming
|
Program Flow
|
Introduction to C Programming
|
Advanced Data Types
|
Introduction to C Programming
|
Input/Output
|
Introduction to C Programming
|
Wrapping Up
|
Introduction to C Programming
|
Xeon Scalable Processors
|
Introduction to Advanced Cluster Architectures
|
Compiling for Xeon SP
|
Introduction to Advanced Cluster Architectures
|
Memory, Cache, Interconnects
|
Introduction to Advanced Cluster Architectures
|
Three Dimensions of Scaling
|
Introduction to Advanced Cluster Architectures
|
Tools for Tuning
|
Introduction to Advanced Cluster Architectures
|
Coding for Performance
|
Code Optimization
|
Single-Core Optimization
|
Code Optimization
|
Data Locality Matters
|
Code Optimization
|
Optimization via Libraries
|
Code Optimization
|
Optimization via Compilers
|
Code Optimization
|
Cache Considerations
|
Code Optimization
|
About Data Transfers
|
Data Transfer
|
Data Transfer Tools
|
Data Transfer
|
Tips for Speed
|
Data Transfer
|
Introduction to Deep Learning
|
AI with Deep Learning
|
Software for Deep Learning
|
AI with Deep Learning
|
Deep Learning at TACC
|
AI with Deep Learning
|
Running TensorFlow/Keras
|
AI with Deep Learning
|
Running PyTorch
|
AI with Deep Learning
|
Distributed Training
|
AI with Deep Learning
|
Resources
|
AI with Deep Learning
|
About Fortran
|
Introduction to Fortran Programming
|
Input/Output
|
Introduction to Fortran Programming
|
Control Structures
|
Introduction to Fortran Programming
|
Advanced Types
|
Introduction to Fortran Programming
|
Subroutines and Functions
|
Introduction to Fortran Programming
|
Modules
|
Introduction to Fortran Programming
|
Introduction to Frontera
|
Getting Started on Frontera
|
User Environment
|
Getting Started on Frontera
|
Storing and Moving Data
|
Getting Started on Frontera
|
Compiling
|
Getting Started on Frontera
|
Running Jobs
|
Getting Started on Frontera
|
Managing Jobs
|
Getting Started on Frontera
|
Overview
|
Globus Data Transfer
|
Globus Accounts
|
Globus Data Transfer
|
The Globus Web Interface
|
Globus Data Transfer
|
TACC Best Practices
|
Globus Data Transfer
|
The Command Line Interface
|
Advanced Globus Data Transfer
|
Scripting
|
Advanced Globus Data Transfer
|
Globus Connect Personal
|
Advanced Globus Data Transfer
|
GPU Characteristics
|
Understanding GPU Architecture
|
GPU Memory
|
Understanding GPU Architecture
|
GPU Example: Tesla V100
|
Understanding GPU Architecture
|
GPUs on Frontera: RTX 5000
|
Understanding GPU Architecture
|
Exercises
|
Understanding GPU Architecture
|
Introduction
|
Hybrid Programming with OpenMP and MPI
|
Creating Hybrid Configurations
|
Hybrid Programming with OpenMP and MPI
|
Hybrid Program Types
|
Hybrid Programming with OpenMP and MPI
|
Jetstream2 Overview
|
Introduction to Jetstream2
|
SSH Keys
|
Introduction to Jetstream2
|
Creating an Instance
|
Introduction to Jetstream2
|
Logging in to an Instance
|
Introduction to Jetstream2
|
Managing Instances
|
Introduction to Jetstream2
|
Jetstream2 Volumes
|
Introduction to Jetstream2
|
Introduction to Jetstream2 APIs
|
Using the Jetstream2 APIs
|
The Horizon GUI
|
Using the Jetstream2 APIs
|
The openstack-client CLI
|
Using the Jetstream2 APIs
|
The OpenStack APIs
|
Using the Jetstream2 APIs
|
Graphics Pipelines
|
Large Data Visualization
|
Faster Graphics
|
Large Data Visualization
|
Background
|
An Introduction to Linux
|
Shells
|
An Introduction to Linux
|
Text Editors
|
An Introduction to Linux
|
Miscellaneous and Tips
|
An Introduction to Linux
|
Introduction to MPI
|
Message Passing Interface (MPI)
|
MPI Programs
|
Message Passing Interface (MPI)
|
MPI Messages
|
Message Passing Interface (MPI)
|
MPI on TACC Systems
|
Message Passing Interface (MPI)
|
Derived Datatypes
|
MPI Advanced Topics
|
Communicators and Groups
|
MPI Advanced Topics
|
Process Topologies
|
MPI Advanced Topics
|
MPI Tool Information
|
MPI Advanced Topics
|
What is collective communication?
|
MPI Collective Communications
|
Synchronization
|
MPI Collective Communications
|
Data Movement
|
MPI Collective Communications
|
Global Computing
|
MPI Collective Communications
|
Non-blocking Collective Communication
|
MPI Collective Communications
|
Using Collective Communication
|
MPI Collective Communications
|
How Does RMA Work
|
MPI One-Sided Communication
|
RMA Windows
|
MPI One-Sided Communication
|
Communication Calls
|
MPI One-Sided Communication
|
Synchronization Calls
|
MPI One-Sided Communication
|
Performance Testing
|
MPI One-Sided Communication
|
Window Allocation
|
MPI One-Sided Communication
|
Point-to-Point Communication
|
MPI Point-to-Point
|
Blocking Communication
|
MPI Point-to-Point
|
Nonblocking Communication
|
MPI Point-to-Point
|
Inspecting Messages
|
MPI Point-to-Point
|
Using Point-to-Point Communications
|
MPI Point-to-Point
|
Overview
|
OpenMP
|
OpenMP Constructs
|
OpenMP
|
Memory Management
|
OpenMP
|
OpenMP Runtime Library
|
OpenMP
|
Introduction to Parallel Computation
|
Parallel Programming Concepts and High Performance Computing
|
Terminology: Threads and Processes
|
Parallel Programming Concepts and High Performance Computing
|
High Performance Computing
|
Parallel Programming Concepts and High Performance Computing
|
Memory Access
|
Parallel Programming Concepts and High Performance Computing
|
Program Design
|
Parallel Programming Concepts and High Performance Computing
|
Data Communication
|
Parallel Programming Concepts and High Performance Computing
|
Efficiency
|
Parallel Programming Concepts and High Performance Computing
|
Thinking Big
|
Parallel Programming Concepts and High Performance Computing
|
Parallel I/O Basics
|
Parallel I/O
|
Lustre
|
Parallel I/O
|
MPI-IO
|
Parallel I/O
|
Structured Data
|
Parallel I/O Libraries
|
PnetCDF
|
Parallel I/O Libraries
|
PHDF5
|
Parallel I/O Libraries
|
ADIOS
|
Parallel I/O Libraries
|
User Interface
|
ParaView
|
User Interface
|
ParaView
|
Produce a Visualization
|
ParaView
|
ParaView on TACC Systems
|
ParaView
|
Exploring Data
|
ParaView - Advanced
|
Animations
|
ParaView - Advanced
|
Scripting
|
ParaView - Advanced
|
Advanced Topics
|
ParaView - Advanced
|
Overview
|
Python for Data Science
|
Datasets
|
Python for Data Science
|
Data Access and Input
|
Python for Data Science
|
Preparing & Processing Data
|
Python for Data Science
|
Visualizing Data
|
Python for Data Science
|
Modeling and Statistics
|
Python for Data Science
|
Machine Learning
|
Python for Data Science
|
Exercises & Notebooks
|
Python for Data Science
|
Overview
|
Introduction to Python Programming
|
Data and Operations
|
Introduction to Python Programming
|
Input/Output
|
Introduction to Python Programming
|
Control Flow
|
Introduction to Python Programming
|
Built-In Classes
|
Introduction to Python Programming
|
Working with Modules
|
Introduction to Python Programming
|
Overview
|
Python for High Performance
|
Third Party Libraries
|
Python for High Performance
|
Compiling Custom Code
|
Python for High Performance
|
Writing Faster Python
|
Python for High Performance
|
Parallel Python
|
Python for High Performance
|
Performance Assessment
|
Python for High Performance
|
Python at TACC
|
Python for High Performance
|
Exercise & Notebook
|
Python for High Performance
|
Getting started with R
|
Introduction to R
|
Basic R Features
|
Introduction to R
|
R on HPC Systems
|
Introduction to R
|
Parallel R
|
Introduction to R
|
Introduction to Relational Databases
|
Relational Databases
|
Using SQL
|
Relational Databases
|
Designing/creating Relational Databases
|
Relational Databases
|
Using Relational Databases
|
Relational Databases
|
Basics
|
Advanced Slurm
|
Job Submission
|
Advanced Slurm
|
Runtime Environments
|
Advanced Slurm
|
Introduction
|
Vectorization
|
Vector Hardware
|
Vectorization
|
Vectorizing with Compilers
|
Vectorization
|
Vector-Aware Coding
|
Vectorization
|
Vector Performance
|
Vectorization
|