-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Always ensure gpu_threads count >= warp size of 32 #8656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
ac74c4b
to
53b1567
Compare
Tile the image with `TailStrategy::GuardWithIf` whenever `can_parallelize(c, 3)` is encountered and when the split factor is smaller than GPU's warp size (=32). For 2D/3D tile schedules having mixed tail strategies, pick the most conservative one, i.e. `TailStrategy::GuardWithIf`. Enable `iir_blur` tests on the Github Actions/Buildbot.
53b1567
to
1452961
Compare
The Testbench passes for targets Error message:
|
configure_file(${IMAGE} rgba.png COPYONLY) | ||
add_test(NAME iir_blur_filter | ||
COMMAND iir_blur_filter rgba.png out.png) | ||
set_tests_properties(iir_blur_filter PROPERTIES | ||
LABELS iir_blur | ||
PASS_REGULAR_EXPRESSION "Success!" | ||
SKIP_REGULAR_EXPRESSION "\\[SKIP\\]") | ||
if (Halide_TARGET MATCHES "opencl") | ||
# Error message: | ||
# | ||
# Error: OpenCL error: CL_INVALID_COMMAND_QUEUE clFinish failed | ||
message(WARNING "Skipping Mullapudi2016's GPU auto-schedules for OpenCL target.") | ||
else () | ||
configure_file(${IMAGE} rgba.png COPYONLY) | ||
add_test(NAME iir_blur_filter | ||
COMMAND iir_blur_filter rgba.png out.png) | ||
set_tests_properties(iir_blur_filter PROPERTIES | ||
LABELS iir_blur | ||
PASS_REGULAR_EXPRESSION "Success!" | ||
SKIP_REGULAR_EXPRESSION "\\[SKIP\\]") | ||
endif () |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alexreinking Help wanted to troubleshoot the CMake (re-)configure error:
[2433/4259] Building CXX object test/correctness/CMakeFiles/correctness_fuzz_simplify.dir/fuzz_simplify.cpp.o
FAILED: test/correctness/CMakeFiles/correctness_fuzz_simplify.dir/fuzz_simplify.cpp.o
/Users/halidenightly/build_bot/venv/lib/python3.9/site-packages/cmake/data/bin/cmake -E env CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros,include_file_mtime,include_file_ctime /opt/homebrew/bin/ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DHALIDE_ENABLE_RTTI -DHALIDE_KEEP_MACROS -DHALIDE_VERSION_MAJOR=20 -DHALIDE_VERSION_MINOR=0 -DHALIDE_VERSION_PATCH=0 -DHALIDE_WITH_EXCEPTIONS -I/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-source/test/common -I/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-source/tools -I/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/include -I/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-source/src/runtime -Xclang -fno-pch-timestamp -std=c++17 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wvla-extension -Wcast-qual -Wignored-qualifiers -Wimplicit-fallthrough -Woverloaded-virtual -Wno-old-style-cast -Winconsistent-missing-destructor-override -Winconsistent-missing-override -Wdeprecated-declarations -Wno-double-promotion -Wno-float-conversion -Wno-float-equal -Wno-missing-field-initializers -Wno-shadow -Wno-sign-conversion -Wno-switch-enum -Wno-undef -Wno-unused-function -Wno-unused-macros -Wno-unused-parameter -Wno-c++98-compat-pedantic -Wno-c++98-compat -Wno-cast-align -Wno-comma -Wno-covered-switch-default -Wno-documentation-unknown-command -Wno-documentation -Wno-exit-time-destructors -Wno-global-constructors -Wno-implicit-float-conversion -Wno-implicit-int-conversion -Wno-implicit-int-float-conversion -Wno-missing-prototypes -Wno-nonportable-system-include-path -Wno-reserved-id-macro -Wno-shadow-field-in-constructor -Wno-shadow-field -Wno-shorten-64-to-32 -Wno-undefined-func-template -Wno-unused-member-function -Wno-unused-template -Winvalid-pch -Xclang -include-pch -Xclang /Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/test/CMakeFiles/_test_internal.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/test/CMakeFiles/_test_internal.dir/cmake_pch.hxx -MD -MT test/correctness/CMakeFiles/correctness_fuzz_simplify.dir/fuzz_simplify.cpp.o -MF test/correctness/CMakeFiles/correctness_fuzz_simplify.dir/fuzz_simplify.cpp.o.d -o test/correctness/CMakeFiles/correctness_fuzz_simplify.dir/fuzz_simplify.cpp.o -c /Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-source/test/correctness/fuzz_simplify.cpp
fatal error: file '/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/include/Halide.h' has been modified since the precompiled header '/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/test/CMakeFiles/_test_internal.dir/cmake_pch.hxx.pch' was built: size changed (was 1338765, now 1338767)
note: please rebuild precompiled header '/Users/halidenightly/build_bot/worker/halide-testbranch-main-llvm20-arm-64-osx-cmake/halide-build/test/CMakeFiles/_test_internal.dir/cmake_pch.hxx.pch'
1 error generated.
How do I skip iir_blur
tests for GPU target host-opencl
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or, is it simply a regression of the Buildbot server?
Tile the image with
TailStrategy::GuardWithIf
whenevercan_parallelize(c, 3)
is encountered and when the split factor (3) is smaller than GPU's warp size (=32).For 2D/3D tile schedules having mixed tail strategies, pick the most conservative one, i.e.
TailStrategy::GuardWithIf
.Enable
iir_blur
tests on the Github Actions/Buildbot.Before:
After:
Note: We are not trying to compete with manual GPU schedules. We just want it to pass correctness tests.
cc'ed @alexreinking and @mcourteaux .