https://github.com/halide/Halide

sort by:
Revision Author Date Message Commit Date
43f94b3 Add an error message if you forget to compile RunGenMain with a registration file 17 July 2020, 20:38:21 UTC
c7393ad Merge pull request #5122 from halide/srj-clangfmt Upgrade clang-format to v10 16 July 2020, 17:45:20 UTC
33ecc3f Upgrade clang-format to v10 Upgrade the clang-format checks to clang-format-10, and reformat code accordingly. Also add a way tp specify the clang-format version for `make format`; it defaults to the version of Clang for the current LLVM, but since clang-format doesn't provide stable formatting across versions, this might be wrong. 16 July 2020, 17:44:49 UTC
fb4b536 Merge pull request #5117 from Infinoid/python-vector-tile Add vector tile methods to the Python bindings 16 July 2020, 17:35:34 UTC
0ddd4e1 Merge pull request #5123 from halide/srj-clangtidy Update clang-tidy checks to use clang-tidy-10 15 July 2020, 21:40:09 UTC
f678add Update clang-tidy checks to use clang-tidy-10 15 July 2020, 20:12:38 UTC
4bd8b09 Merge pull request #5120 from halide/srj-llvm12 Allow LLVM v12 15 July 2020, 18:16:06 UTC
45ac38a Update Makefile 15 July 2020, 18:07:32 UTC
8eda1fd Also update GHA scripts 15 July 2020, 18:07:08 UTC
39467a9 Allow LLVM v12 15 July 2020, 17:58:46 UTC
75b90ff Merge pull request #5103 from halide/abadams/simplify_select_eq Add simplifier rules for some combinations of select and min/max 15 July 2020, 16:33:59 UTC
9ffef41 Add vector tile methods to the Python bindings 15 July 2020, 15:44:12 UTC
1092491 Merge pull request #5115 from halide/srj-genrules Land some CMake revisions for wasm integration 14 July 2020, 23:03:02 UTC
e091df7 Merge pull request #5116 from halide/srj-wasmopts Add Target::WasmSatFloatToInt 14 July 2020, 23:00:43 UTC
c6cbab7 Merge pull request #5109 from aankit-ca/autosched_reorder_fix Fix autoscheduler emitted schedule for reorder 14 July 2020, 23:00:10 UTC
5d415be Add Target::WasmSatFloatToInt Cherry-picking a change from #5097 so that reviewing that PR will be simpler; this just adds another feature option for wasm that tooling wasn't ready for before, but is now (saturating float-to-int conversion). 14 July 2020, 17:55:22 UTC
1d9dd89 Land some CMake revisions for wasm integration Cherry-picking some CMake-related stuff from #5097 to make it easier to review: - Add an optional COMMAND argument to add_halide_test(), this allows us to customize the command for execution (e.g. to run generated .wasm with a shell tool) - Add some missing DEPENDS in a few places - Add an optional EXTRA_LIBS argument to halide_define_aot_test(); this allows us to pass extra dependencies rather than requiring separate calls to target_link_libraries(). That last one is a little odd, so let me expand: the intent here is that (when the wasm changes land), some of the tests that aren't usable under wasm (e.g. matlab), and halide_define_aot_test() will handle these by just skipping those targets entirely. This means that we can effectively centralize the blocklist in one place, and then the callers of halide_define_aot_test() can just do something like halide_define_aot_test(matlab) if (TARGET generator_aot_matlab) set_target_properties(generator_aot_matlab PROPERTIES ENABLE_EXPORTS True) endif () ... i.e., just assume that if the target may not be defined if it's blacklisted for some reason. (Open for better suggestions on this last one, but I felt it was better than spraying lots of checks for "if wasm blah blah" thru this entire file) 14 July 2020, 17:33:26 UTC
6a52e9c clang-format fix 13 July 2020, 21:18:34 UTC
e0b14c2 Fix autoscheduler emitted schedule for reorder The schedule emitted by Adams2019 autoscheduler sometimes results in a compilation error. This error is seen when the autoscheduler emits trivial reorder (reorder of a single variable). For example, the autoscheduler emits the following schedule snippet: `.reorder(x1);` There is a check inplace which prevents these reorders by verifying the the size of vector representing the `vars` to be reorderd is greater than 1. https://github.com/halide/Halide/blob/master/apps/autoscheduler/AutoSchedule.cpp#L806 Though, there are some cases where this check doesn't filter out trivial reorders (when some variables don't exist). This patch changes the reorder() directive emitted in schedule file by the autoscheduler. from: .reorder(VarOrRVar x, VarOrRVar y, Args && args) to: .reorder(std::vector<VarOrRVar>& vars) As the former reorder syntax results in an error if the schedule file is used, in case there is a reorder of only one variable that are sometimes caused by the autoscheduler. 13 July 2020, 20:39:29 UTC
c4e6d09 Merge pull request #5102 from halide/srj-assoc-ops Fix data race in get_ops_table() (Issue #5101) 13 July 2020, 16:53:54 UTC
db1b4b7 Merge remote-tracking branch 'origin/master' into abadams/simplify_select_eq 13 July 2020, 16:53:32 UTC
d57717c Merge pull request #5106 from halide/srj-gha-manual Try adding manual controls to GHA Builder 10 July 2020, 23:23:40 UTC
0e910ac Merge pull request #5105 from halide/srj-wasm-test Update many tests for WASM 10 July 2020, 22:09:54 UTC
bb0bcf9 Update test.yml 10 July 2020, 21:48:20 UTC
9f3e34a Update test.yml 10 July 2020, 21:42:56 UTC
346bac9 Merge pull request #5104 from halide/srj-test Add meta-targets to CMake to replicate some Make functionality 10 July 2020, 21:07:27 UTC
e73fcc8 Update HalideTestHelpers.cmake 10 July 2020, 20:36:19 UTC
a690ac7 Update many tests for WASM This has been split off from #5097 to make reviewing simpler; this modifies a bunch of tests for better use with WASM: - everything in auto_schedule is skipped, since the Mullapudi2016 autoscheduler assert-fails for most non-real-CPU backends - everything in performance is skipped, because we'll be doing wasm "jit" testing with an interpreter, so performance results would be meaningless - Added/updated the skip message for tests that exercise things that wasm doesn't support yet (eg atomics, threads) - For a handful of tests that are unreasonably slow under the wasm "jit" interpreter, dialed down some of the test parameters to avoid test timeouts - Removed some wasm-related skips that won't be necessary any longer 10 July 2020, 18:22:34 UTC
8663390 Add meta-targets to CMake to replicate some Make functionality For each test group (eg 'generator') this adds a build metatarget named 'build_$GROUP'; this allows a simpler way to rebuild everything in a test group prior to running ctest. 10 July 2020, 18:13:25 UTC
756cb1d Add simplifier rules for some combinations of select and min/max Fixes #5100 10 July 2020, 18:03:21 UTC
d3422b5 Fix data race in get_ops_table() (Issue #5101) 10 July 2020, 17:44:36 UTC
15c97a0 Merge pull request #5092 from acolinisi/PR--cmake-system-pybind11 cmake: python: use system pybind11 if installed 08 July 2020, 18:45:39 UTC
7481708 Merge pull request #5091 from halide/abadams/multitarget_object_error_message Better error message when trying to compile multitarget to object 07 July 2020, 22:18:47 UTC
8551fac cmake: python: use system pybind11 if installed Fixes builds on offline hosts (common on HPC clusters), which otherwise fail with failure to fetch pybind11 from the Internet, introduced in c13efffcc9e282d14c21a5149e4bdee078c85a9c: CMake Error at pybind11-subbuild/pybind11-populate-prefix/tmp/pybind11-populate-gitclone.cmake:31 (message): Failed to clone repository: 'https://github.com/pybind/pybind11.git' Also, make build friendly to distribution packages. Distribution package recipe should be in control of (1) dependencies to build against (e.g. some distros are on pybind11 2.5, and it should be used unless it's incompatible), and (2) when fetching happens vs when building happens. So, there is a need for a packager-friendly build mode where the build system doesn't go out and fetch whatever dependencies it chooses whenever it chooses. This patch gives priority to the system pybind11 with fallback to fetching. 07 July 2020, 19:15:47 UTC
25aaed9 Merge pull request #5088 from halide/srj-llvm-ver Add Halide::Internal::get_llvm_version() for tests 07 July 2020, 17:22:01 UTC
ac48d67 Better error message when trying to compile multitarget to object 07 July 2020, 17:04:35 UTC
bce3abe Merge pull request #5087 from halide/shoaibkamil/objc_msgsend_cast Always cast objc_msgSend() 07 July 2020, 14:15:57 UTC
12c388b Merge branch 'master' into srj-llvm-ver 07 July 2020, 00:33:13 UTC
de5428f Merge pull request #5086 from halide/srj-vmap Add missing #includes to VectorizeLoops.h 07 July 2020, 00:32:52 UTC
652dc85 Add Halide::Internal::get_llvm_version() for tests LLVM_VERSION isn't exported to tests, but at least one needs this info. Add an internal API to export this info. 06 July 2020, 22:05:29 UTC
bb03f07 Expand comment 06 July 2020, 19:59:39 UTC
eb82ae7 Add explanatory comment for objc_msgSend signature 06 July 2020, 19:29:49 UTC
6b47b6a Change prototype in header so all (future) uses are caught as well. 06 July 2020, 18:37:45 UTC
32d0e9a Other uses of objc_msgSend as well 06 July 2020, 18:14:11 UTC
d8889ad Merge pull request #5082 from halide/abadams/fix_rungen_bounds_inference Change adapt_input_buffers to check for interval inclusion 06 July 2020, 18:05:58 UTC
9cc5380 Add missing #includes to VectorizeLoops.h 06 July 2020, 17:55:36 UTC
3de15a8 Always cast objc_msgSend calls 06 July 2020, 16:59:11 UTC
666d4cf Merge pull request #5085 from halide/abadams/fix_vector_reduce_llvm_9 Restrict total reductions to llvm 10+ to workaround arm issue 03 July 2020, 17:00:22 UTC
09c8e6a Re-enable total reductions for non-arm on llvm 9 02 July 2020, 19:29:43 UTC
cec15bd Merge pull request #5084 from halide/abadams/null_check_in_for_each_value Check for null in for_each_value 02 July 2020, 19:28:42 UTC
668a068 Merge pull request #5073 from Developer-Ecosystem-Engineering/master Add support to build and run on Apple silicon 01 July 2020, 19:20:42 UTC
437e37e Restrict total reductions to llvm 10+ to workaround arm issue 01 July 2020, 19:08:58 UTC
61fe775 Check for null in for_each_value This gives a better error message than a segfault if someone tries to iterate over each value in an undefined Buffer. Another option was just making for_each_value a no-op, but that felt like it might hide a real error. Fixes #5077 01 July 2020, 18:55:46 UTC
0b5d13e Merge pull request #5083 from halide/abadams/fix_vector_reduce_llvm_9 Work around LLVM 9 horizontal op issue 01 July 2020, 18:04:11 UTC
af416c6 Work around LLVM 9 horizontal op issue #5081 30 June 2020, 23:11:00 UTC
915746c Change adapt_input_buffers to check for interval inclusion Formerly this did weird things if the estimates were larger than the required region in both directions, so autoscheduling of harris frequently broke with out of bounds errors. 30 June 2020, 22:44:37 UTC
fa1bd57 Merge pull request #5080 from halide/abadams/document_var_types Better documentation for the contents of Schedule.h 29 June 2020, 21:42:21 UTC
2098759 Clarify 'greater' 29 June 2020, 21:42:09 UTC
68b8915 Update HalideTestHelpers.cmake Remove march flags 29 June 2020, 20:41:53 UTC
ad56f69 Better documentation for the contents of Schedule.h Also fix a bunch of doxygen warnings. 29 June 2020, 19:54:05 UTC
8d4cd7e Merge pull request #5074 from halide/cmake/remove-march-native Remove march=native from tests build 29 June 2020, 17:31:02 UTC
d59bfb1 Merge pull request #5076 from halide/abadams/comdats Add COMDATs to mergable symbols on windows 29 June 2020, 17:30:39 UTC
c084ec8 Add COMDATs to mergable symbols on windows 27 June 2020, 00:38:06 UTC
d9a6df5 Remove march=native from tests build This breaks cross compiling on Apple Silicon and probably elsewhere, too. See PR #5073 Also removing disable-optimization flags here. @steven-johnson and I think it's unimportant and it just makes the build have more weird edge cases. 26 June 2020, 21:05:02 UTC
892fa67 Merge pull request #5063 from halide/abadams/simplify_correlated_comparisons Apply simplify_correlated_differences to comparisons too 26 June 2020, 19:20:52 UTC
1831b2f Add support to build and run on Apple silicon Changes necessary to run succesfully on Apple silicon. 25 June 2020, 23:42:30 UTC
95e8982 Merge pull request #4628 from halide/atomic_vectorization Within-vector reductions 25 June 2020, 17:13:00 UTC
95f154a Merge pull request #5056 from halide/abadams/memory_limit_on_autoscheduler Add an HL_MEMORY_LIMIT environment var for the autoscheduler 25 June 2020, 16:36:43 UTC
bcb6da1 Merge branch 'master' into abadams/simplify_correlated_comparisons 25 June 2020, 16:36:20 UTC
993f329 Merge pull request #5066 from halide/abadams/fix_squared_cuda_argument_arrays Fix squared size error in gpu argument arrays 25 June 2020, 16:35:41 UTC
0f7b822 Apply simplify_correlated_differences to comparisons too GuardWithIf conditions can include comparisons with correlated values on each side, e.g. ((x*8) + y)*2 + z <= x*16. It's worth cancelling them - in one case @aekul found it avoids an if statement tree in an unrolled block. This would be a fairly trivial change by itself, but I did some light refactoring while I was there to avoid blowing up the number of template instantiations. 25 June 2020, 16:18:11 UTC
015f650 Merge remote-tracking branch 'origin/master' into atomic_vectorization 24 June 2020, 21:37:10 UTC
411d429 Merge pull request #5068 from halide/abadams/may_partition_serial_gpu_loops Permit loop partitioning for serial loops on GPU 24 June 2020, 21:35:11 UTC
d7d6774 Merge branch 'master' into abadams/fix_squared_cuda_argument_arrays 24 June 2020, 19:08:28 UTC
0e94313 Merge branch 'abadams/fix_squared_cuda_argument_arrays' of https://github.com/halide/Halide into abadams/fix_squared_cuda_argument_arrays 24 June 2020, 19:08:16 UTC
2b6fd22 Merge pull request #5044 from halide/srj-rt-inlined Add ALWAYS_INLINE and WEAK_INLINE to runtime_internal.h 24 June 2020, 16:36:25 UTC
08aa6db Merge pull request #5067 from halide/abadams/1v3_linear_comparison_cancellations Add some missing 1 vs 3 linear comparison cancellations 24 June 2020, 16:12:06 UTC
3e5271a Merge branch 'abadams/1v3_linear_comparison_cancellations' into abadams/fix_squared_cuda_argument_arrays 24 June 2020, 01:42:27 UTC
c7e430d HL_MEMORY_LIMIT -> HL_AUTOSCHEDULE_MEMORY_LIMIT 24 June 2020, 00:52:57 UTC
f429a32 Fix squared size error in gpu argument arrays The scalar arguments to GPU calls are put in a stack array. For n args, this stack array had type foo[n][n] instead of foo[n]. For large number of arguments this overflows the stack. @aekul found a case with 40MB worth of stack space reserved for arguments, of which a tiny fraction was actually used. 24 June 2020, 00:50:06 UTC
8cb76d7 More fixes 23 June 2020, 22:43:23 UTC
2c1abe2 Permit loop partitioning for serial loops on GPU We don't partition loops (e.g. to peel off tail cases) on GPU if there's a barrier or warp synchronous thing going on, because it may result in different threads hitting different barriers and expecting to synchronize with each other. But this is only an issue if the loop we're partitioning is a parallel one (i.e. a threads loop). If it's serial, there's no change in the semantics and duplicating the barrier is fine. In the extreme case it's legal to entirely unroll the loop, duplicating the barrier N times. I.e. this transormation is bad: Before: gpu_threads x in [0, 15]: serial y in [0, 8]: barrier After: gpu_threads x in [0, 7]: serial y in [0, 8]: barrier gpu_threads x in [8, 15]: serial y in [0, 8]: barrier But this is fine: gpu_threads x in [0, 15]: serial y in [0, 8]: barrier gpu_threads x in [0, 15]: serial y in [0, 4]: barrier serial y in [5, 8]: barrier 23 June 2020, 22:19:13 UTC
e3107d7 Add some missing 1 vs 3 linear comparison cancellations Somehow we were missing these. They're useful in canceling non-linear terms from both sides of a comparison. Pretty trivial, but formally verified anyway to protect us from typos. 23 June 2020, 20:59:36 UTC
51e4c6d Address review comments 23 June 2020, 20:32:55 UTC
ac326b5 Merge branch 'master' into abadams/memory_limit_on_autoscheduler 23 June 2020, 20:32:46 UTC
bf9f46b Merge branch 'master' into abadams/fix_squared_cuda_argument_arrays 23 June 2020, 20:22:35 UTC
56b3af2 Add ALWAYS_INLINE and WEAK_INLINE to runtime_internal.h Clean up haphazard function attributes in runtime code: - Runtime code that uses `__attribute__((always_inline))`, but not WEAK, should always also use `inline` (otherwise, some compilation scenarios can report link errors due to confusion over linkage types). ALWAYS_INLINE is the runtime-specific macro now used uniformly used for these cases. - Runtime code that uses `__attribute__((always_inline))` and `__attribute__((weak))` should *never* use `inline`. WEAK_INLINE is the runtime-specific macro now used uniformly used for these cases. 23 June 2020, 20:21:49 UTC
69e320e Merge pull request #5061 from halide/shoaibkamil/metal_is_nan Add is_nan_f32 for metal 23 June 2020, 18:49:04 UTC
c202d20 Merge branch 'master' into abadams/memory_limit_on_autoscheduler 23 June 2020, 18:21:40 UTC
c0870ff Merge pull request #5065 from halide/abadams/better_error_message_when_no_distrib better error message if you try to build an app before libHalide 23 June 2020, 18:19:37 UTC
d716ea1 Merge remote-tracking branch 'origin/master' into shoaibkamil/metal_is_nan 23 June 2020, 18:08:04 UTC
3d45335 Remove debugging print 23 June 2020, 18:07:11 UTC
5ebe589 Merge pull request #5041 from halide/abadams/trim_no_ops_lift_loop_invariant_if_statements Add an explicit pass to lift loop invariant if statements 23 June 2020, 18:06:24 UTC
66dce74 Fix squared size error in gpu argument arrays The scalar arguments to GPU calls are put in a stack array. For n args, this stack array had type foo[n][n] instead of foo[n]. For large number of arguments this overflows the stack. @aekul found a case with 40MB worth of stack space reserved for arguments, of which a tiny fraction was actually used. 23 June 2020, 17:58:48 UTC
1bda178 Try to trigger buildbots 23 June 2020, 17:45:31 UTC
31546bd Add is_inf_f32/is_nan_f32/is_finite_f32 for D3D12Compute 23 June 2020, 17:24:08 UTC
7a156c4 clang-format 23 June 2020, 14:00:10 UTC
be6ed6e Add GPU version of test 23 June 2020, 13:57:33 UTC
2c83da3 Give a better error message if you try to build an app before building Halide Fixes #5060 22 June 2020, 21:09:46 UTC
4bb7897 Add is_inf and is_finite as well 22 June 2020, 19:08:45 UTC
back to top