Single-instruction multiple-data execution /
| Main Author: | |
|---|---|
| Format: | eBook |
| Language: | English |
| Published: |
San Rafael, California (1537 Fourth Street, San Rafael, CA 94901 USA) :
Morgan & Claypool,
2015.
|
| Series: | Synthesis lectures in computer architecture ;
# 32. |
| Subjects: | |
| Online Access: | Connect to the full text of this electronic book |
Table of Contents:
- 1. Data parallelism
- 1.1 Data parallelism
- 1.2 Data parallelism in applications
- 1.2.1 Physical simulation
- 1.2.2 Computer vision
- 1.2.3 Speech recognition
- 1.2.4 Database management systems
- 1.2.5 Financial analytics
- 1.2.6 Medical imaging
- 2. Exploiting data parallelism with SIMD execution
- 2.1 Exploiting data parallelism
- 2.2 SIMD execution
- 2.3 SIMD performance and energy benefits
- 2.4 Limits to SIMD scaling
- 2.5 Programming and compilation
- 2.5.1 Programming for SIMD execution
- 2.5.2 Challenges of static analysis
- 3. Computation and control flow
- 3.1 SIMD registers
- 3.2 SIMD computation
- 3.2.1 Basic arithmetic and logic
- 3.2.2 Data element size and overflow
- 3.2.3 Advanced arithmetic
- 3.3 Control flow
- 3.3.1 SIMD execution with control flow
- 3.3.2 Conditional SIMD execution
- 3.3.3 Efficiency implications of control divergence
- 4. Memory operations
- 4.1 Contiguous patterns
- 4.1.1 Unaligned accesses
- 4.1.2 Throughput implications
- 4.2 Non-contiguous patterns
- 4.2.1 Programming model issues
- 4.2.2 Implementing gather and scatter instructions
- 4.2.3 Locality in gathers and scatters
- 5. Horizontal operations
- 5.1 Limits to horizontal operations
- 5.2 Data movement
- 5.3 Reductions
- 5.4 Reducing control divergence
- 5.5 Potential dependences
- 5.5.1 Single-index case
- 5.5.2 Multi-index case
- 6. Conclusions
- 6.1 Future directions
- Bibliography
- Author's biography.