Previous | Next --- Slide 47 of 60
Back to Lecture Thumbnails
pdp

"Model provides no primitives for fine-grained mutual exclusion/synchronization" - Does this mean that ISPC does not provide any programming abstraction for synchronization between different tasks?

kayvonf

@pdp. The statement on the slide is referring to synchronization across program instances, not across ISPC tasks. (There are no ISPC tasks in this program.) And, yes that is correct. The only primitives for cross-instance communication are the built-in cross-program instance operators.

https://ispc.github.io/ispc.html#cross-program-instance-operations

Further, there is no synchronization across ISPC tasks.

MichaelJordan

Why would there be no way to synchronize across ISPC tasks?

ayy_lmao

Just a guess, but perhaps because of the lightweight nature of ISPC tasks vs something like a pthread, it doesn't have the necessary infrastructure to perform synchronizations without becoming more expensive to launch and execute.

kayvonf

Hint: Take a look at this slide and apply the discussion there to the context of ISPC tasks.