Revision e3606cc5d92ccb41ed39480bf00bddf4a9e710c2 authored by Andrew Adams on 13 August 2020, 17:37:30 UTC, committed by Andrew Adams on 13 August 2020, 18:41:13 UTC
Partition loops shouldn't mess with serial loops containing
thread barriers, potentially causing warp divergence and deadlock (seen
in some obscure lens blur schedules).

Also we were generating too many thread barriers in a branch where the
base mutator class was accidentally always mutating something, so
there's a change to FuseGPUThreadLoops to make it more bug-resistant.

Without these additional barriers I have been unable to come up with a
case where a barrier ends up somewhere that would deadlock, so no test.
1 parent 98a116a
History
File Mode Size
.github
apps
cmake
dependencies
doc
packaging
python_bindings
src
test
tools
tutorial
util
.clang-format -rw-r--r-- 1.5 KB
.clang-format-ignore -rw-r--r-- 265 bytes
.clang-tidy -rw-r--r-- 469 bytes
.gitattributes -rw-r--r-- 342 bytes
.gitignore -rw-r--r-- 1.1 KB
.gitmodules -rw-r--r-- 0 bytes
CMakeLists.txt -rw-r--r-- 4.6 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.5 KB
LICENSE.txt -rw-r--r-- 3.2 KB
Makefile -rw-r--r-- 91.9 KB
README.md -rw-r--r-- 19.1 KB
README_cmake.md -rw-r--r-- 12.3 KB
README_rungen.md -rw-r--r-- 12.1 KB
README_webassembly.md -rw-r--r-- 7.5 KB

README.md

back to top