Previous | Next --- Slide 9 of 56
Back to Lecture Thumbnails
monsterrev

Even though we say that program assignments are interleaved, but they are indeed parallel and amount of parallelism depends on SIMD width (hardware). Is my understanding correct?

adityamathur

The program assignments are interleaved across a single instance and those interleaved assignments are executed across multiple instances in a parallel fashion. The amount of parallelism (instances) does depend on the SIMD width.

Also, at a given point of time, if we look at the assignments being executed across multiple instances, they are not interleaved as such. The interleaving is with respect to a particular instance, thus a contiguous series of assignments are executed at the same time across multiple instances.

It is somewhat like vector execution across multiple instances.

I hope it makes sense.

nba16235

For the interleaved assignment, the worst case could be that all 4 parts of the data are not in the cache which may cause stalling for all 4 instances. My understanding is that SIMD abstraction won't have to handle this situation while tasks are designed for that. Is that right?