Previous | Next --- Slide 64 of 66
Back to Lecture Thumbnails
rbandlam

If there is a thread that does not have arrays, operating only on single variables. Each core supports 8 SIMD ALU's and has only single fetch/decode unit. Even though, this core supports SIMD and multi-threading, at any point in time only one ALU of each core will be used right?

In simple terms, SIMD helps in improving performance of computations by decoding one instruction and applies different inputs to same instruction.

azeng

If there's only one fetch/decode unit and it's not using some sort of SIMD there's no point in using more than one of the ALUs.

MediumPepsi

@rbandlam I think you are right. This is explained in Page 34 of the slides. The situation you described is divergent execution (in opposite to coherent execution). As Kayvon said, coherent execution is necessary for efficient use of SIMD processing resources (multiple ALUs in this case).