<!-- Strictly, the latency-hiding is a feature of the zero-overhead scheduling implemented by modern GPUs... this might or might not be considered to be a property of 'SIMT' itself -->
A downside of SIMT execution is the fact that thread-specific control-flow has to beis performed using "masking", leading to poor utilisation where control-flowa is not coherent for allprocessor's threads offollow adifferent processorcontrol-flow paths. For instance, to handle an ''if''-''else'' block where various threads of a processor execute different paths, all threads must actually process both paths (as all threads of a processor always execute in lock-step), but "masking" is used to disable and enable the various threads as appropriate. ThisMasking is avoided when control flow is coherent for the threads of a processor, i.e. they all follow the same path of execution. The "masking" strategy is what distinguishes SIMT from ordinary SIMD, and has the benefit of inexpensive synchronization between the threads of a processor.<ref name="spp">{{cite book |author1=Michael McCool |author2=James Reinders |author3=Arch Robison |title=Structured Parallel Programming: Patterns for Efficient Computation |publisher=Elsevier |year=2013 |pages=209 ff.}}</ref>