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
Raw File
CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(hist)

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(hist.generator SOURCES hist_generator.cpp)

# Filters
add_halide_library(hist FROM hist.generator)
add_halide_library(hist_auto_schedule FROM hist.generator
                   GENERATOR hist
                   AUTOSCHEDULER Halide::Mullapudi2016)

# Main executable
add_executable(hist_filter filter.cpp)
target_link_libraries(hist_filter
                      PRIVATE
                      Halide::ImageIO
                      Halide::Tools
                      hist
                      hist_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 hist_filter
             COMMAND hist_filter rgba.png out.png)
    set_tests_properties(hist_filter PROPERTIES
                         LABELS hist
                         PASS_REGULAR_EXPRESSION "Success!"
                         SKIP_REGULAR_EXPRESSION "\\[SKIP\\]")
endif ()
back to top