Modern C++ Concurrency in Depth ( C++17/20)

  • CategoryOther
  • TypeTutorials
  • LanguageEnglish
  • Total size2.1 GB
  • Uploaded Bytutsnode
  • Downloads61
  • Last checkedDec. 21st '21
  • Date uploadedDec. 19th '21
  • Seeders 15
  • Leechers11

Infohash : F6DFDF554DEABB55B7E402DA8BCCDAB6804A29C5


Description

C++ programming language can be categorized under many topics. Some say its a general purpose programming language, some say its a object oriented version of C. But I liked to categorized it under system programming language. One characteristic of any system programming language including C++ is that language should be able to execute faster compare to other languages like java etc.

C++ paradigm took sharp turn with the introduction of C++11 standards. The most notable difference with previous version is the introduction of new memory model. Memory model is the key part of any language, and the performance of all the functionalities depends on that language memory model. With new c++ memory model, we can exploit tremendous power of modern multi core processors.

Programming a proper C++ code with better memory reclaim mechanism is tough task. But if we want to code thread safe code which can harvest underline processors true power is much more difficult task. In this course we will have in depth discussion on C++ concurrency features including memory model. We will implements thread safe data structures and algorithms, both lock based manner and lock free manner. Proper lock free implementations of data structures and algorithms will provide unprecedented performance output. Let me listed down key aspects we cover in this course below.

1.Basics of C++ concurrency(threads, mutex, package_task, future ,async, promise)

2.Lock based thread safe implementation of data structures and algorithms.

3.C++ memory model.

4.Lock free implementation of data structures and algorithms.

5.C++20 concurrency features.

5. Proper memory reclaim mechanism for lock free data structures.

6. Design aspects of concurrent code.

7. In depth discussion on thread pools.

8. Bonus section on CUDA programming with C and C++.
Who this course is for:

Anyone who wants to widen you skills with c++ programming.

Requirements

Basic of c++ programming , some knowledge about data structures and algorithms would be helpful

Last Updated 3/2021

Files:

Modern C++ Concurrency in Depth ( C++1720) [TutsNode.com] - Modern C++ Concurrency in Depth ( C++1720) 1 - Thread management guide
  • 1 - Setting up the environment for the course.mp4 (106.1 MB)
  • 3 - Quiz Parallel programming in general_en.srt (1.4 KB)
  • 18 - Debugging a application in Visual studio_en.srt (15.5 KB)
  • 5 - Programming exercise 1 Launching the threads_en.srt (1.2 KB)
  • 2 - Introduction to parallel computing_en.srt (13.8 KB)
  • 9 - Programming exercise 2 Trivial sale a ship model_en.srt (2.6 KB)
  • 1 - Setting up the environment for the course_en.srt (11.0 KB)
  • 16 - Parallel accumulate algorithm implementation_en.srt (10.7 KB)
  • 14 - Programming excersice 3 Sail a ship with work queues_en.srt (2.5 KB)
  • external-assets-links.txt (0.4 KB)
  • 8 - How to handle join, in exception scenarios_en.srt (7.1 KB)
  • 13 - Some useful operations on thread_en.srt (6.9 KB)
  • 4 - How to launch a thread_en.srt (6.7 KB)
  • 6 - Joinability of threads_en.srt (5.6 KB)
  • 7 - Join and detach functions_en.srt (5.5 KB)
  • 10 - How to pass parameters to a thread_en.srt (5.3 KB)
  • 15 - Parallel accumulate - algorithm explanation_en.srt (4.8 KB)
  • 17 - Thread local storage_en.srt (4.4 KB)
  • 12 - Transferring ownership of a thread_en.srt (4.2 KB)
  • 11 - Problematic situations may arise when passing parameters to a thread_en.srt (4.1 KB)
  • 18 - Debugging a application in Visual studio.mp4 (65.9 MB)
  • 2 - Introduction to parallel computing.mp4 (43.4 MB)
  • 4 - How to launch a thread.mp4 (34.0 MB)
  • 16 - Parallel accumulate algorithm implementation.mp4 (26.4 MB)
  • 8 - How to handle join, in exception scenarios.mp4 (23.6 MB)
  • 15 - Parallel accumulate - algorithm explanation.mp4 (22.1 MB)
  • 13 - Some useful operations on thread.mp4 (15.2 MB)
  • 12 - Transferring ownership of a thread.mp4 (12.6 MB)
  • 7 - Join and detach functions.mp4 (11.9 MB)
  • 6 - Joinability of threads.mp4 (10.1 MB)
  • 10 - How to pass parameters to a thread.mp4 (10.0 MB)
  • 17 - Thread local storage.mp4 (9.2 MB)
  • 11 - Problematic situations may arise when passing parameters to a thread.mp4 (8.5 MB)
  • 14 - Programming excersice 3 Sail a ship with work queues.mp4 (3.9 MB)
  • 9 - Programming exercise 2 Trivial sale a ship model.mp4 (3.8 MB)
  • 5 - Programming exercise 1 Launching the threads.mp4 (1.7 MB)
  • 3 - Quiz Parallel programming in general.mp4 (1.5 MB)
9 - Bonus section Parallel programming in massively parallel devices with CUDA
  • 2 - Elements of CUDA program_en.srt (20.0 KB)
  • 9 - CUDA memory transfer_en.srt (12.8 KB)
  • 10 - Sum array example_en.srt (10.9 KB)
  • 5 - Unique index calculation for threads in a grid_en.srt (10.9 KB)
  • 3 - Organization of threads in CUDA program 1_en.srt (9.6 KB)
  • 8 - Timing a CUDA program_en.srt (9.1 KB)
  • 6 - Unique index calculation for threads in a 2D grid_en.srt (7.2 KB)
  • 4 - Organization of threads in CUDA program 2_en.srt (7.0 KB)
  • 1 - Setting up the environment for CUDA_en.srt (6.7 KB)
  • 12 - CUDA device properties_en.srt (6.4 KB)
  • 7 - Unique index calculation for threads in a 2D grid 2_en.srt (5.8 KB)
  • 11 - Error handling in a CUDA program_en.srt (5.4 KB)
  • 1 - Setting up the environment for CUDA.mp4 (40.4 MB)
  • 2 - Elements of CUDA program.mp4 (32.9 MB)
  • 6 - Unique index calculation for threads in a 2D grid.mp4 (31.3 MB)
  • 10 - Sum array example.mp4 (28.5 MB)
  • 8 - Timing a CUDA program.mp4 (26.1 MB)
  • 12 - CUDA device properties.mp4 (25.7 MB)
  • 9 - CUDA memory transfer.mp4 (24.9 MB)
  • 5 - Unique index calculation for threads in a grid.mp4 (23.3 MB)
  • 11 - Error handling in a CUDA program.mp4 (22.4 MB)
  • 4 - Organization of threads in CUDA program 2.mp4 (21.7 MB)
  • 7 - Unique index calculation for threads in a 2D grid 2.mp4 (19.4 MB)
  • 3 - Organization of threads in CUDA program 1.mp4 (18.6 MB)
7 - Lock free data structures and algorithms
  • 4 - Stack memory reclaim mechanism using thread counting_en.srt (19.7 KB)
  • 5 - Stack memory reclaim mechanism using hazard pointers_en.srt (17.5 KB)
  • 6 - Stack memory reclaim mechanism using reference counting_en.srt (16.2 KB)
  • 3 - Simple lock free thread safe stack_en.srt (11.1 KB)
  • 2 - Stack recap_en.srt (9.5 KB)
  • 4 - Stack memory reclaim mechanism using thread counting.mp4 (84.2 MB)
  • 6 - Stack memory reclaim mechanism using reference counting.mp4 (77.6 MB)
  • 1 - Introduction and some terminology_en.srt (2.8 KB)
  • 5 - Stack memory reclaim mechanism using hazard pointers.mp4 (77.3 MB)
  • 3 - Simple lock free thread safe stack.mp4 (22.0 MB)
  • 2 - Stack recap.mp4 (12.7 MB)
  • 1 - Introduction and some terminology.mp4 (4.0 MB)
4 - Lock based thread safe data structures and algorithm implementation
  • 5 - parallel quick sort algorithm implementation_en.srt (16.0 KB)
  • 11 - Introduction to Matrix_en.srt (15.4 KB)
  • 14 - Factors affecting the performance of concurrent code_en.srt (14.4 KB)
  • 4 - Parallel STL introduction_en.srt (14.0 KB)
  • 10 - Partial sum algorithm parallel implementation_en.vtt (12.5 KB)
  • 6 - parallel for each implementation_en.srt (10.4 KB)
  • 9 - Partial sum algorithm introduction_en.srt (9.1 KB)
  • 13 - Parallel matrix transpose_en.srt (8.3 KB)
  • 7 - parallel find algorithm implementation with package task_en.srt (8.2 KB)
  • 2 - queue data structure implementation using linked list data structure_en.srt (8.1 KB)
  • 7 - parallel find algorithm implementation with package task_en.vtt (7.5 KB)
  • 10 - Partial sum algorithm parallel implementation_en.srt (7.1 KB)
  • 12 - Parallel Matrix multiplication_en.srt (5.5 KB)
  • 1 - introduction to lock based thread safe data structures and algorithms_en.srt (5.2 KB)
  • 8 - parallel find algorithm implementation with async_en.srt (4.3 KB)
  • 3 - thread safe queue implementation_en.srt (3.4 KB)
  • 4 - Parallel STL introduction.mp4 (58.9 MB)
  • 5 - parallel quick sort algorithm implementation.mp4 (44.8 MB)
  • 13 - Parallel matrix transpose.mp4 (37.1 MB)
  • 10 - Partial sum algorithm parallel implementation.mp4 (33.3 MB)
  • 6 - parallel for each implementation.mp4 (32.2 MB)

Code:

  • udp://open.stealth.si:80/announce
  • udp://tracker.tiny-vps.com:6969/announce
  • udp://fasttracker.foreverpirates.co:6969/announce
  • udp://tracker.opentrackr.org:1337/announce
  • udp://explodie.org:6969/announce
  • udp://tracker.cyberia.is:6969/announce
  • udp://ipv4.tracker.harry.lu:80/announce
  • udp://tracker.uw0.xyz:6969/announce
  • udp://opentracker.i2p.rocks:6969/announce
  • udp://tracker.birkenwald.de:6969/announce
  • udp://tracker.torrent.eu.org:451/announce
  • udp://tracker.moeking.me:6969/announce
  • udp://tracker.dler.org:6969/announce
  • udp://9.rarbg.me:2970/announce