Sold Out
Book Categories |
Foreword xiii
Note from the Lead Developer of Intel Threading Building Blocks xv
Preface xix
Why Threading Building Blocks? 1
Overview 2
Benefits 2
Thinking Parallel 7
Elements of Thinking Parallel 8
Decomposition 9
Scaling and Speedup 13
What Is a Thread? 19
Mutual Exclusion and Locks 22
Correctness 23
Abstraction 25
Patterns 25
Intuition 27
Basic Algorithms 29
Initializing and Terminating the Library 30
Loop Parallelization 32
Recursive Range Specifications 52
Summary of Loops 64
Advanced Algorithms 65
Parallel Algorithms for Streams 65
Containers 80
concurrent_queue 81
concurrent_vector 86
concurrent_hash_map 91
Scalable Memory Allocation 101
Limitations 101
Problems in Memory Allocation 101
Memory Allocators 103
Replacing malloc, new, and delete 104
Mutual Exclusion 110
When to Use Mutual Exclusion 111
Mutexes 112
Mutexes 118
Atomic Operations 122
Timing 130
Task Scheduler 133
When Task-Based Programming Is Inappropriate 133
Much Better Than Raw Native Threads 134
Initializing the Library Is Your Job 137
Example Program for Fibonacci Numbers 137
Task Scheduling Overview 140
How Task Scheduling Works 142
Recommended Task Recurrence Patterns 145
Making Best Use of the Scheduler 147
Task Scheduler Interfaces 153
Task Scheduler Summary 168
Keys to Success 169
Key Steps to Success 169
Relaxed Sequential Execution 170
Safe Concurrency for Methods and Libraries 171
Debug Versus Release 172
For Efficiency's Sake 172
Enabling Debugging Features 172
Mixing with Other Threading Packages 174
Naming Conventions 176
Examples 177
The Aha! Factor 177
A Few Other Key Points 179
parallel_for Examples 180
The Game of Life 190
Parallel_reduce Examples 199
CountStrings: Using concurrent_hash_map 209
Quicksort: Visualizing Task Stealing 215
A Better Matrix Multiply (Strassen) 223
Advanced Task Programming 230
Packet Processing Pipeline 237
Memory Allocation 257
Game Threading Example 262
Physics Interaction and Update Code 271
Open Dynamics Engine 275
History and Related Projects 283
Libraries 283
Languages 285
Pragmas 286
Generic Programming 286
Caches 289
Costs of Time Slicing 290
Quick Introduction to Lambda Functions 291
Further Reading 292
Index 297
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionIntel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism
X
This Item is in Your InventoryIntel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism
X
You must be logged in to review the productsX
X
X
Add Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism, Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for g, Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism to the inventory that you are selling on WonderClubX
X
Add Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism, Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for g, Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism to your collection on WonderClub |