Here are a list of study materials that I highly recommend:

TextBooks

Encyclopedia of Parallel Computing
A comprehensive book about key concepts in parallel computing. Entries are all written by established researchers in the field.
Optimizing Compilers For Modern Architectures; A Dependence Based Approach
A classic textbook on auto-parallelization and locality optimizations.

Online Courses

UC Berkeley CS267 - Applications of Parallel Computers
A great course covering an overview of the parallel architecture, some of the most popular parallel programming tools and a broad set of parallelization strategies.
MIT 6.172 - Performance Engineering of Software Systems
Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, and building scalable systems.

CUDA Programming Tutorials

CUDA Training Series
The best CUDA tutorial for beginners I've ever seen. Recordings are available for each chapter.
Intro to Parallel Programming
A great online course by Prof. David Owens that covers fundamental ideas of parallel programming, and teaches CUDA programming. The interview parts is a bonus.

Historical Perspectives

Parallel Processing, 1980 to 2020
A historical survey of parallel processing by Robert Kuhn and David Padua.

Seminars (Latest Research Topics)

SPCL Bcast
An online seminar series that covers a broad range of topics around parallel and high-performance computing, scalable machine learning, etc from SPCL at ETH.
MIT Fast Code Seminar
A great seminar series on the theory and practice of performance engineering.