Have fun reading papers and books!
- Read-Log-Update A Lightweight Synchronization Mechanism for Concurrent Programming
- A Pragmatic Implementation of Non-Blocking Linked-Lists
- A Wait-free Queue as Fast as Fetch-and-Add
- Non-blocking Patricia Tries with Replace Operations
- The Java Memory Model
- Foundations of the C++ Concurrency Memory Model
- The Foundations for Scalable Multi-core Software in Intel® Threading Building Blocks
- SALSA: Scalable and Low Synchronization NUMA-aware Algorithm for Producer-Consumer Pools
- NUMASK: High Performance Scalable Skip List for NUMA
- BRAVO–Biased Locking for Reader-WriterLocks
- Eraser: A Dynamic Data Race Detector for Multithreaded Programs
- ThreadSanitizer – data race detection in practice
- Scheduling Multithreaded Computations by Work Stealing
- Wait-Free Synchronization
- CDSCHECKER Checking Concurrent Data Structures Written with CC++ Atomics
- Algorithms for Scalable Synchronization on SharedMemory Multiprocessors
- Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask
- Nonblocking Concurrent Data Structures with Condition Synchronization
- Software Transactional Memory for Dynamic-sized Data Structures
- Transactional Memory
- Transactional Data Structure Libraries
- A programming system for future proofing performance critical libraries
- BLIS A Framework for Rapidly Instantiating BLAS Functionality
- Barrier Elision for Production Parallel Programs
- Implementing Strassen's Algorithm with BLIS
- Lightweight Dynamic Selection for Kernel-based Data-parallel Programming Model
- The Big Data Challenges of Connectomics
- Experimenting with Low-Overhead OpenMP Runtime on BG/Q
- Reducers and Other Cilk++ Hyperobjects
- Deep Learning with Limited Numerical Precision
- One weird trick for parallelizing convolutional neural networks
- Overcoming Challenges in Fixed Point Training of Deep Convolutional Networks
- Scaling Distributed Machine Learning with the Parameter Server
- Optimizing Memory Efficiency for Deep Convolutional Neural Networks on GPUs
- Efficient Synchronization Primitives for GPUs
- Enterprise Breadth-First Graph Traversal on GPUs
- GPU Multisplit
- iBFS Concurrent Breadth-First Search on GPUs.
- Analyzing CUDA Workloads Using a Detailed GPU Simulator
- Demystifying GPU Microarchitecture through Microbenchmarking
- NVIDIA TESLA V100 GPU ARCHITECTURE
- Visualizing Complex Dynamics in Many-Core Accelerator Architectures
- Simultaneous Multithreading Maximizing On-Chip Parallelism
- A Single-Chip Multiprocessor
- Evaluating the Potential of Multithreaded Platforms for Irregular Scientific Computations
- Victim Replication: Maximizing Capacity while Hiding Wire Delay in Tiled Chip Multiprocessors
- The future of microprocessors
- Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessors
- IBM POWER7 multicore server processor
- A Primer on Memory Consistency and Cache Coherence
- IBM Blue Gene/Q memory subsystem with speculative execution and transactional memory
- Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution
- A Few Useful Things to Know about Machine Learning
- Graspan: A Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code
- Program Locality Analysis Using Reuse Distance