0

What are the similarities and differences between instruction level parallelism and SIMD (ingle instruction, multiple data)? I know that they both work with multiple instructions, but that's the only similarity I can think about.

ada dudu
  • 49
  • 1
  • 2
  • 8

1 Answers1

2

SIMD is having each instruction process multiple items. ILP is about having multiple dependency chains so multiple instructions can be in flight at once.

They are orthogonal; to max out Haswell's FMA throughput, you need to keep 10 FMAs in flight, each one operating on a vector of 8 single-precision elements.

The tag wiki has lots of links, especially Agner Fog's Optimizing Assembly and microarchitecture guides to understand more about throughput vs. latency.

Community
  • 1
  • 1
Peter Cordes
  • 328,167
  • 45
  • 605
  • 847