Revision ed01550d58f23762bde148bc6d5d881c0b6caae9 authored by Andrew Adams on 04 March 2024, 20:35:29 UTC, committed by Andrew Adams on 04 March 2024, 20:35:29 UTC
This is one of our largest remaining type of magic name. These were explicitly constructed in lots of places and then explicitly checked for with ends_with in lots of places. This PR makes the names opaque. Only CanonicalizeGPUVars.cpp knows what they are, and they don't have to be a single fixed thing as long as they're consistent within a process. Also reduced the number of GPU dimensions to three more uniformly. We were already asserting this, but there was lots of dead code in lowering passes after gpu loop validation that allowed for four. Also fixed a bug I found in is_block_uniform. It didn't consider that the dependence on a gpu thread variable in a load index could be because a let variable encountered depends on a gpu thread variable.
1 parent 7636c44
CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(harris)
enable_testing()
# Set up language settings
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS NO)
# Find Halide
find_package(Halide REQUIRED)
# Generator
add_halide_generator(harris.generator SOURCES harris_generator.cpp)
# Filters
add_halide_library(harris FROM harris.generator)
add_halide_library(harris_auto_schedule FROM harris.generator
GENERATOR harris
AUTOSCHEDULER Halide::Mullapudi2016)
# Main executable
add_executable(harris_filter filter.cpp)
target_link_libraries(harris_filter
PRIVATE
Halide::ImageIO
harris
harris_auto_schedule)
# Test that the app actually works!
set(IMAGE ${CMAKE_CURRENT_LIST_DIR}/../images/rgba.png)
if (EXISTS ${IMAGE})
configure_file(${IMAGE} rgba.png COPYONLY)
add_test(NAME harris_filter
COMMAND harris_filter rgba.png out.png)
set_tests_properties(harris_filter PROPERTIES
LABELS harris
PASS_REGULAR_EXPRESSION "Success!"
SKIP_REGULAR_EXPRESSION "\\[SKIP\\]")
endif ()
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...