Video description
It's deja vu all over again. In the old days (35 plus years ago), developers wanting to write half-decent programs had to know their hardware. Those days are back. Clock frequencies have peaked and hardware can no longer be abstracted behind high-level languages. Designed for developers with high performance requirements (games, finance analysis, scientific computation, etc.), this course teaches you what really happens when programs are executed and the subtle details that make a program go slow or fast.
With a focus on concurrency, specifically local concurrency (multi-threading), the course is all about writing efficient programs that make the best use of the computing resources available to you. While the sample code is written in C++, the course is not C++ specific. If you can read C++ code, but don’t use it in your work, you will still learn from this class.
- Learn how programs execute in hardware and the subtle details that affect program speed
- Practice writing efficient programs that get the most out of today’s CPUs, caches, and memory
- Discover how single and multi-core CPUs interact with memory and how to avoid memory slowness
- Explore memory models, concurrent data structures, lock-free concurrency, and lock-based concurrency
- Acquire the tools needed to measure the performance of programs and their components
Table of contents
- Introduction
- Memory Architecture And Performance Impact
- Measuring Time In Programs
- Threads
- How Threads Interact With Memory
- Synchronization Of Memory Accesses
- Memory Models
- Memory Barriers
- Lock-Based And Lock-Free Programming
-
Lock-Free Data Structures
- Shared Pointer Part - 1
- Shared Pointer Part - 2
- Shared Pointer Part - 3
- Shared Pointer Part - 4
- Shared Pointer Part - 5
- Shared Pointer Part - 6
- Node-Based Containers Part - 1 (List)
- Node-Based Containers Part - 2 (List)
- Node-Based Containers Part - 3 (List)
- Node-Based Containers Part - 4 (List)
- Node-Based Containers Part - 5 (List)
- Node-Based Containers Part - 6 (List)
- Node-Based Containers Part - 7 (List)
- Sequential Containers Part - 1 (Queue)
- Sequential Containers Part - 2 (Queue)
- Sequential Containers Part - 3 (Queue)
- Sequential Containers Part - 4 (Queue)
- Sequential Containers Part - 5 (Queue)
- Sequential Containers Part - 6 (Queue)
- Performance In Real Life
- Concurrent Data Structures In Depth
- Conclusion
Product information
- Title: High-Performance Computing and Concurrency
- Author(s):
- Release date: November 2016
- Publisher(s): Infinite Skills
- ISBN: 9781491967553
You might also like
book
Parallel and High Performance Computing
Complex calculations, like training deep learning models or running large-scale simulations, can take an extremely long …
video
Concurrent and Parallel Programming Concepts
In this Concurrent and Parallel Programming Concepts training course, expert author Martin Kalin will teach you …
book
Rust Atomics and Locks
The Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries …
video
Java Concurrency and Multithreading in Practice
Improve the performance of your application by using modern Java's multithreading features About This Video Increase …