3 ms·
"data parallel" and "task parallel" are the same thing. You work out data dependencies ahead of time and a thread does something specific by reading the data it
by CyberDildonics 3y ago
"data parallel" and "task parallel" are the same thing. You work out data dependencies ahead of time and a thread does something specific by reading the data it needs. Whether you do that by giving a bunch of threads the same data and then giving them a range they need to work on or give them different chunks of data, it boils down to the same mechanic of having data ahead of time and executing something specific, dictated by a different thread and using data they don't own.
- wmf 3y agoAt a high enough level I guess everything is just computation but using GPGPU as an example there are programs where control flow diverges and ones where it doesn't.
- CyberDildonics 3y agoI think you mean at a low enough level and jumping to that generality doesn't make sense here. The same could be said for splitting a bunch of threads off with opemMP. It isn't about divergence, it is about data dependencies, data owership and synchronization, which are all the same in both scenarios.