Explores GPUs' architecture, CUDA programming, image processing, and their significance in modern computing, emphasizing early start and correctness in GPU programming.
Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Explores historical perspectives and mechanisms of transactional memory, emphasizing the importance and challenges of its implementation in modern computing systems.
Covers the basics of parallel programming, including concurrency, forms of parallelism, synchronization, and programming models like PThreads and OpenMP.
Discusses the challenges and future of neuromorphic computing, comparing digital computers and specialized hardware, such as SpiNNaker and NEST, while exploring the Human Brain Project's Neuromorphic Computing Platform.