https://github.com/halide/Halide

sort by:
Revision Author Date Message Commit Date
9ffa12b add test for ARM mixed-sign umlal/smlal/umlsl/smlsl 18 August 2023, 00:56:33 UTC
f8cf189 improve ARM mixed-sign umlal/smlal/umlsl/smlsl 18 August 2023, 00:55:58 UTC
4ae3ddd update IRMatch.h 18 August 2023, 00:52:23 UTC
6331465 DistributeShiftsAsMuls for ARM affine exprs 17 August 2023, 23:50:30 UTC
4e6fe00 Fix vector reduce HTML (#7773) VectorReduce: Div cannot be in Span 17 August 2023, 18:07:11 UTC
f2f2af2 Define `cast<i32>(u32)` overflow behavior (#7769) uint32 -> int32 casting should not produce SIO 17 August 2023, 16:11:21 UTC
f75f68d Experimental serializer (#7594) * init * sync * single func pipeline round-trip test * roundtrip test framework completed, single output function tested, no Dag yet * serialize Stmt, partially done (cuz no support of Expr yet), not fully tested * deviceAPI MemoryType ForType * Expr, with a grain of salt * fix exprs in stmts * format everything * Range * fix undefined exprs and stmts * address some review comments: - proper using - proper includes - rename Serdes -> Serialize * address more review comments - rename .hlb/.hlr to .hlpipe - reserve vectors - proper memory management * deserialize_expr_vector * support bound, storageDim, loopLevel and funcSchedule * Specialization, Definition * sync commit * temporarily comment out func mapping stuff to remove blockers * helper funcs * call_type and reduction_domain * ModulusRemainder and VectorReduceOp, some minor refactoring * prefetch directive * name mangling and closing on function's odds and ends * split * dim * stage schedule * tidy * parameter * more parameter * check nullptr and some minor fix * fix crashing * func index replacing func ptr during serialization * extern func arg, some minor cleanup * replace cerr with halide assert * buffer?? * remove printer * fix * wrappers in func_schedule * clear func mapping to use serializer for more than 1 pipelines, use unordered_map also * attempt to move serialization into core, get cmake working for now * fix * we maybe don't need submodule * fix cmake * make headers work again, with some hacks ofc * serialization now lives in libHalide * testing 101 * don't include flatbuffers header in Halide.h * fix * namespace adjust * user_assert * fix a missing field * fix missing type info in some exprs * fix bug in function mapping * fix function DAG broken issue * format * rm cout in cpp files and change test group name * fix the case func ptr is not defined * add a missing call type deserialization * serialize unique parameters * serialize unique buffers * fix missing type in parameter * fix a missing tail stra * change find_transive_call to build_enviroment to include wrappers in the DAG * upstream current test strategy, intercept JIT compilation for each pipeline, serdes ronudtrip and back * make sure buffer memory layout are the same * don't use ir comparator to compare pipelines, we will use jit tests from now * don't serialize Parameter's buffer, compute external buffers from Call, Variable and ExternFuncArgument and don't serialize them as well * fix, 35 tests remaining * fix output function orders * reuse jit_externs since we cannot really serialize it, 29 tests to go * fix that buffer_constraints, host_alignment and memory_type are incorrectly removed, also add missing exact in split * only use outputs and requirements from deserialized pipeline during testing * nits * add missing requirements during deserialization * restore original pipeline's contents after lowering * address some review comments * Install flatbuffers for clang-tidy * use std::map to make results the same on different compiler * proper way to handle cropped buffers * fix cmake build using alex's branch * try set flatbuffers_DIR explicitly * case sensitive? * rename serialization test env var * cleanup Serialization.cpp * format * have halide version embedded in the file identifier * nits and comments * format * try make clang-tidy happy and const a lot of things * const more things * support istream input * nit * add template function deserialize_vector * nit * attempt to integrate serialization test * line breaks * remove hack in compile_jit, at least for now * fix * add #ifdef guards * format * try nolint * special case two files so clang-tidy will be happy * Make Flatbuffers-missing error more useful * Make a few final changes - change BUILD_SERIALIZATION -> WITH_SERIALIZATION to match other flags better - fix capitalization of the CMake package (must be `FlatBuffers` for some Linux usage) - add stub calls to the de/serialization calls when building without Flatbuffers * Oops addition * clang-format * Add temporary debug hackery * more hackery * grr * sdfsdf * sigh, capitalization * One more try * Update presubmit.yml * No more mr nice guy * Update CMakeLists.txt * Revise build rules & script to allow clang-tidy for the new files * Update CMakeLists.txt * Apply clang-tidy fixes * Fix target for generated header * Prefer to use FetchContent for flatbuffers * Fixes * set PIC on * more pic * fix attempt * fix attempt * try macos * coreutils * Update run-clang-tidy.sh * noquiet * final again? --------- Co-authored-by: Steven Johnson <srj@google.com> 11 August 2023, 21:45:38 UTC
93514c3 StmtViz: Search for tooltip only in the child node (#7754) Search for tooltip only in the child node Further cut ~5 second of StmtVisualizer rendering by searching for the tooltip text-box in the child node of the current button. Previously, the script compose the global ID with regular expression, and then search the entire DOM causing delays. 10 August 2023, 20:42:49 UTC
7054828 Improve error-handling in Anderson2021, and ensure build deps are cor… (#7748) * Improve error-handling in Anderson2021, and ensure build deps are correct * clang-format 10 August 2023, 17:01:12 UTC
150a930 [vulkan] Fix SPIR-V IR references causing leaks (#7739) * Remove unnecessary parent refs and owning function/block refs. Add explicit clear methods for contents structs and destructors. * Move objects when changing ownership --------- Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 07 August 2023, 19:30:41 UTC
7b45542 [vulkan] Fix heap buffer overflow in Vulkan extension handling discovered by ASAN (#7740) Fix heap buffer overflow in Vulkan extension handling discovered by ASAN Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 07 August 2023, 19:29:25 UTC
2f5c4d2 Revert accidental typo change in #7746 (#7747) 07 August 2023, 18:14:59 UTC
af56605 Permit llvm 15 on windows (#7744) Our build instructions for windows are currently broken, because vcpkg is still on llvm 15. This PR unbreaks them. Re-enabling any testing of llvm 15 to be discussed. 07 August 2023, 16:24:03 UTC
25028cd Allow optional sorting of profiler output via HL_PROFILER_SORT env var (Fixes #7638) (#7639) * Allow optional sorting of profiler output via HL_PROFILER_SORT env var (Fixes #7638) * trigger buildbots * Update profiler_common.cpp * Update float16_t.cpp * Update float16_t.cpp * Update float16_t.cpp * Update float16_t.cpp 07 August 2023, 16:13:41 UTC
c254043 Fix leaks in test/correctness/memoize.cpp (#7705) * Fix leaks caused by self-referential parameter constraints * Add comment * Add missing overrides * Fix reported leaks in memoize test by explicitly releasing the shared runtime at the end of the test * Use const refs for non-mutated args * Hopefully fix for windows * Fix for 32-bit pointers * Don't use _aligned_malloc It requires _aligned_free, which the runtime aint gonna do * Fix other memoize test * Use runtime built-in malloc/free On windows mixing and matching mallocs and frees doesn't work well. * Fix comment --------- Co-authored-by: Steven Johnson <srj@google.com> 05 August 2023, 18:52:46 UTC
f39576f Fix infinite recursion in loop partitioning (#7743) * Fix infinite recursion in partition loops We weren't stripping the likely tags off the unlikely case on a store/load predicate, resulting in infinite recursion. * Add test * Remove accidental return 05 August 2023, 18:52:23 UTC
87087f1 Run clang-tidy on macOS runners instead of Linux (#7746) * Run clang-tidy on macOS runners instead of LInux The current macOS runners have twice the RAM and more CPU power. Also, drive-by change to allow specifying the parallelism that the run-clang-tidy script should use (defaults to nproc) * Update Generator.cpp * Update run-clang-tidy.sh * Update run-clang-tidy.sh 04 August 2023, 23:36:26 UTC
48b3df6 Speedup the VizIR HTML. (#7713) * From 12s to 2s, by eliminating the bulk of the $() calls. * Speed up recursive depth function by not using jQuery. * Changed out CodeMirror for Speed-Highlight. Additionally several fixes regarding the StmtViz. --------- Co-authored-by: Steven Johnson <srj@google.com> 04 August 2023, 17:00:41 UTC
bc30d6f Revise labels on autoscheduler tests (#7732) * Revise labels on autoscheduler tests This is step 1 in fixing https://github.com/halide/Halide/issues/7731: it replaces the `autoschedulers` tag with more granular ones, so that we can modify the build script to test the right autoscheduler(s) for a given backend. (Note that the `autoschedulers` tag was unused by the buildbots, which only used the generic `auto_schedule` tag.) Step 2 will be to modify the buildbot script after this lands to use the new tags above. Step 3 will be to remove the `auto_schedule` tag. * Fix anderson2021 labels 03 August 2023, 00:18:33 UTC
734df3f Clean up really long line lengths in Anderson2021 (#7728) * Clean up really long line lengths in Anderson2021 We don't have an explicit line length limit in Halide, but generally consider 120 to be a reasonable extent; a lot of code in Anderson2021 went waaaay over this limit, especially function/method calls. I did a semi-manual cleanup to try to clean up the worst offenders. Should be 100% cosmetic. * Add LoopNestMap * Fixes 02 August 2023, 18:12:25 UTC
ef24391 Ignore code in src/runtime/hexagon_remote/bin/src for clang-format (#7736) 02 August 2023, 17:21:17 UTC
8fe4f99 Fix leak on cloning functions with update defs (#7735) * Fix leak on cloning functions with update defs When cloning a Func with an update def, the remapping map resulting from the deep copy may already contain a key for the wrapped function pointing to a strong reference to itself. The reasons are unclear to me, but it means that emplace silently does nothing and we get a memory leak because the cloned Func's update definition has a strong self-reference after the remapping is applied. We want to replace it with a weak reference, so this PR changes things to use operator[] instead of emplace. * Add comment 02 August 2023, 16:39:44 UTC
0839270 Attempt to fix #7703 (#7706) * Attempt to fix #7703 * fixes * Update LoopNest.cpp * Update GPULoopInfo.h * Fixes. * clang-tidy 01 August 2023, 20:55:28 UTC
831fd1a Fix RDom usage in anderson2021_test_apps_autoscheduler (Fixes #7729) (#7734) 01 August 2023, 16:36:15 UTC
3ced617 [Hexagon] - Fix problems in sim_host.cpp (#7725) * Fix problems in src/runtime/hexagon_remote/sim_host.cpp reported by clang-tidy and clang-format 01 August 2023, 14:45:00 UTC
ef51a23 Remove unused using decl (#7730) Also convert a std::vector to a vector in a file that has using std::vector 01 August 2023, 00:07:29 UTC
9f43580 Change default generator timeout to infinite (#7718) 31 July 2023, 21:51:21 UTC
f54bc08 Fix handling of thread features for scalars in Anderson2021 (#7726) * Fix handling of thread features for scalars * Remove unneeded change 31 July 2023, 21:27:01 UTC
fca8d96 Making Metal code-gen a bit faster (#7720) removing redundant print_expr() call 28 July 2023, 16:55:19 UTC
89ffae2 Making HLSL code-gen a couple orders of magnitude faster... (#7719) Removing redundant print_expr() 28 July 2023, 16:22:57 UTC
649a224 Fix CMake test for generator_aot_multitarget (#7716) * Fix CMake test for generator_aot_multitarget * Update CMakeLists.txt 27 July 2023, 22:56:50 UTC
df4c981 Throw an erorr if split is called with the same older and inner var name (#7715) * throw an erorr if split is called with the same older and inner name * update * fix naming * rewording * add test --------- Co-authored-by: Steven Johnson <srj@google.com> 27 July 2023, 15:13:02 UTC
09c5d1d Default WITH_TEST_FUZZ to OFF (#7695) * Fix for top-of-tree LLVM * Default WITH_TEST_FUZZ to OFF Just because our compiler supports fuzzing doesn't mean we want to build the fuzz tests, because they won't really build properly without the right preset specified. (This will be followed up with a change to the buildbot to set WITH_TEST_FUZZ to ON for fuzz tests) 26 July 2023, 22:25:43 UTC
bfc26cc Improved profiler result printing. (#7709) * Fixed the regularization for BGU. * Improved profiler result printing. * Clang-format ain't liking pretty code. * Clang-tidy ain't liking pretty code. --------- Co-authored-by: Steven Johnson <srj@google.com> 26 July 2023, 22:03:52 UTC
5749d8c Upgrade Halide main branch for LLVM18 (#7710) LLVM just added `release/17.x` branch and now trunk is 18 -- update our build files and docs accordingly (see also https://github.com/halide/build_bot/pull/248, which needs to land first) 26 July 2023, 20:51:48 UTC
c9bf3b1 Fix float16 warning for older clangs (#7701) 25 July 2023, 20:29:57 UTC
f41c392 Fix leaks caused by self-referential parameter constraints (#7700) * Fix leaks caused by self-referential parameter constraints * Add comment * Add missing overrides * Use const refs for non-mutated args 25 July 2023, 20:25:15 UTC
ab3ff3a Mark all single-arg ctors in src/runtime as explicit (#7707) Minor code hygiene fix, done as byproduct of #7704 25 July 2023, 20:24:20 UTC
df902e7 Mark all single-arg ctors in autoscheduler code as `explicit` (#7704) explicit ctors 25 July 2023, 19:14:12 UTC
fd9bfc8 Fix clang and llvm versions in scripts (#7702) * fix clangng+llvm versions in files * more fixes 24 July 2023, 21:45:47 UTC
ce16f91 Fixed the regularization for BGU. (#7684) Co-authored-by: Steven Johnson <srj@google.com> 24 July 2023, 18:22:51 UTC
943bc5f Convert error to warning (#7698) Accidentally checked in #7697 with the failure mode as error, not warning 24 July 2023, 18:19:50 UTC
128bcdf Add a warning if a Generator declares any Outputs before the final Input (Fixes #7669) (#7697) * Add a warning if a Generator declares any Outputs before the final Input (Fixes #7669) See https://github.com/halide/Halide/issues/7669 for details * Update abstractgeneratortest_generator.cpp * Add note about allow_out_of_order_inputs_and_outputs() to warning 24 July 2023, 17:44:03 UTC
71eb4ee Fix for top-of-tree LLVM (#7694) 21 July 2023, 00:56:11 UTC
475b774 Fix float16 under asan, attempt #2 (#7691) * Fix float16 under asan, attempt #2 Some sneakiness going on. * Update float16_t.cpp 19 July 2023, 19:13:02 UTC
0112da4 Fix quadratic algorithm in simplify_correlated_differences (#7686) This pass called expr_uses_var in a loop while building up a potentially long let chain. This does a quadratic amount of work in the size of the let chain, which stalled compilation for a particular pathological pipeline I encountered. This changes it to an eager algorithm that tracks the set of free variables and incrementally grows it instead of revisiting the entire expr for each new let added. It is n log(n) in the number of lets instead of n^2 Co-authored-by: Steven Johnson <srj@google.com> 19 July 2023, 18:27:35 UTC
18fbc15 Add Sanitizer details to README_cmake.md (#7688) 18 July 2023, 18:17:27 UTC
5f56e64 Add a select overload for tuples (#7672) * Add a select overload for tuples * Add missing overload * deprecate tuple_select * Fix Python bindings for deprecation of tuple_select() * Update PyIROperator.cpp --------- Co-authored-by: Steven Johnson <srj@google.com> 18 July 2023, 16:05:59 UTC
4ba0d8b Fix correctness_float16_t for ASAN builds (#7687) This appears to be a glitch that has to do with changing ABI for float16 across versions of GCC; we build LLVM with gcc-9 on Linux, but the float16 ABI got changed (and unified in gcc12); since ASAN builds use Clang even on linux, there is a hiccup here. This is an ugly monkey-patch to work around this issue. 18 July 2023, 16:03:37 UTC
601b5c5 Remove ParamMap (#7675) ParamMap was deprecated in Halide 16; per https://github.com/halide/Halide/pull/7357, we should go ahead and remove it for Halide 17, in favor of `compile_to_callable()`. 11 July 2023, 19:37:55 UTC
41d6d94 Update onnx app to Adams2019 autoscheduler and new autoscheduler API (#7673) * Update onnx app to Adams2019 autoscheduler and new autoscheduler API Fixes #7670 * Add model test too * Remove use of tmpnam * Don't test onnx app in a 32-bit build 11 July 2023, 16:52:18 UTC
9755e3d Attempt to fix intermittent PCH "modified" errors (#7666) * Attempt to fix intermittent PCH "modified" errors * Update CMakeLists.txt * Update CMakeLists.txt Co-authored-by: Alex Reinking <alex.reinking@gmail.com> --------- Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 29 June 2023, 17:15:03 UTC
6f2cae6 Dependency wrangling part 0/N: standard CMake modules (#7658) * Hoist Threads::Threads to the top level * Remove global OpenGL dependency This is added by the helpers as-needed. Removing it here lets one build just libHalide without searching for OpenGL. * Narrow scope of OpenMP to tutorial Only the tutorial targets actually use OpenMP. Don't search for OpenMP if WITH_TUTORIALS is off. * Move JPEG and PNG deps to tools Only the Halide::ImageIO library uses these directly, so limiting the scope protects against unintented use. * Work around CMake bug The CMake $<TARGET_NAME_IF_EXISTS:...> genex uses dynamic scoping w.r.t. the target environment, rather than the usual static scoping. This means we need to move the PNG and JPEG dependencies higher up. * Add link to CMake issue in comments. 28 June 2023, 16:38:47 UTC
470f43c Bump Halide version to 17.0.0 in main (#7636) * Bump Halide version to 17.0.0 in main * Bump compatible LLVM version requirements to 17, 16, 15. Update build instructions to use newer LLVM version. * Bump clang-format/tidy LLVM version to 15 (minimum required to build Halide) * trigger buildbots * Revert LLVM requirements for run_clang_format/tidy. Do this in a separate PR. --------- Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> Co-authored-by: Steven Johnson <srj@google.com> 27 June 2023, 17:34:55 UTC
c7ca15f Enable clang-tidy's modernize-use-default-member-init check (#7662) * Upgrade clang-format and clang-tidy to use v16 (Skipping over 15 entirely in favor of the newest stable version) * Update presubmit.yml * Update .clang-tidy * Update .clang-tidy * fixes * Update run-clang-tidy.sh * Update .clang-tidy * Update .clang-tidy * fixes * Update .clang-tidy * Update PyHalide.cpp * Update run-clang-tidy.sh * Update CodeGen_Vulkan_Dev.cpp * Update .clang-tidy * fix * format 26 June 2023, 22:22:27 UTC
c28a00f Update for top-of-tree LLVM changes (#7663) 26 June 2023, 20:10:27 UTC
1e3431c Enable the misc-use-anonymous-namespace clang-tidy check (#7661) * Upgrade clang-format and clang-tidy to use v16 (Skipping over 15 entirely in favor of the newest stable version) * Update presubmit.yml * Update .clang-tidy * Update .clang-tidy * fixes * Update run-clang-tidy.sh * Update .clang-tidy * Update .clang-tidy * fixes * Update .clang-tidy * Update PyHalide.cpp * Update run-clang-tidy.sh * Update CodeGen_Vulkan_Dev.cpp * Enable the misc-use-anonymous-namespace clang-tidy check Basically just says "don't use static" * Update Generator.h * Update Util.cpp * Update JITModule.cpp 24 June 2023, 01:35:17 UTC
c2e4f6d Upgrade clang-format and clang-tidy to use v16 (#7660) * Upgrade clang-format and clang-tidy to use v16 (Skipping over 15 entirely in favor of the newest stable version) * Update presubmit.yml * Update .clang-tidy * Update .clang-tidy * fixes * Update run-clang-tidy.sh * Update .clang-tidy * Update .clang-tidy * fixes * Update .clang-tidy * Update PyHalide.cpp * Update run-clang-tidy.sh * Update CodeGen_Vulkan_Dev.cpp 24 June 2023, 01:33:46 UTC
2a93cb0 Get the ASAN toolchain working again (#7604) * Get the ASAN toolchain working again Various fixes to enable ASAN to finally work (linux x64 only). Note that this found several ASAN failures in the Anderson2021 autoscheduler tests, which are *not* fixed yet; I'll fix thus in a subsequent PR. * Remove stuff that I didn't mean to check in * Configure cuda-specific tests properly too * trigger buildbots * Update CodeGen_LLVM.cpp * Update CodeGen_LLVM.cpp * Fix sloppiness? * Update CMakeLists.txt * trigger buildbots * Use Halide_PYTHON_LAUNCHER to implement ASAN toolchain fixes (#7657) * Use new Halide_PYTHON_LAUNCHER to set env vars * Update CMake docs for Halide_SANITIZER_ENV_VARS --------- Co-authored-by: Alex Reinking <areinkin@qti.qualcomm.com> --------- Co-authored-by: Alex Reinking <alex.reinking@gmail.com> Co-authored-by: Alex Reinking <areinkin@qti.qualcomm.com> 23 June 2023, 20:53:14 UTC
0de9eb2 Fix incorrect name-mangling for llvm.experimental.vp.strided.load (#7654) These ops are only used for RISCV codegen at present, and this one tended to only happen for complex patterns that we don't test in our very limited crosscompilation tests. 23 June 2023, 17:47:03 UTC
0218c9e Add a compositing example app (#7646) * Initial version of a compositing demo app * Improve schedule; add GPU version * Better mux codegen * Consider all definition exprs in mullapudi autoscheduler * Add Tuple mux to IROperator * clang-format, better comments * Remove pointless blank line * Add some fixed-point intrinsics to RegionCosts.cpp to suppress warnings * Add perf numbers * Hopefully fix cmake build * clang-format * clang-format * Fix muxing FuncRefs * More comments * Update process.cpp * Include cmath to hopefully get M_PI * Revert inclusion of cmath --------- Co-authored-by: Steven Johnson <srj@google.com> 23 June 2023, 15:21:38 UTC
1e963ff Default RISCV backend to OFF for LLVM < 17 (#7650) LLVM17 is doing a lot of work on the RISCV backend, and the amount of testing done on Halide's LLVM16-based RISCV codegen is very light. It's been suggested that we should default to not enabling the RISCV backend for LLVM16 and earlier because of this (so that people attempting to use Halide for RISCV won't encounter a possible footgun). This PR just adds the relevant mechanism; whether or not this is the correct decision is not clear. Discussion welcome. 22 June 2023, 21:45:22 UTC
9232218 Fix RISCV codegen for top-of-tree LLVM (#7648) * Fix RISCV codegen for top-of-tree LLVM Also add a warning if you try to codegen with older versions of LLVM: many intrinsics have changed in ways that are hard to deal with both ways, and trying to support both would be painful and of dubious value. * Make LLVM16 work too * Update CodeGen_RISCV.cpp 22 June 2023, 18:20:20 UTC
bd42076 Add user_assert for zero vector width in CodegenRISCV (#7647) * Add user_assert for zero vector width in CodegenRISCV If you forget to add `-rvv-vector_bits_N` to your Target string, we try to codegen with a vector width of 0, which (unsurprisingly) craters in many places which assume a nonzero value. It's pretty unlikely anyone wants to use Halide to codegen to a RISCV core that lacks SIMD, so let's add a more helpful failure message for this easy-to-make error (we can revisit this later if it actually is desirable for some reason.) (I looked briefly at trying to clean up all the places in CodegenLLVM, etc, that make that assumption, but it quickly turned into a rat's nest; it's definitely fixable if we want to support this in the future, but, again, I suspect we don't.) * Update CodeGen_RISCV.cpp 21 June 2023, 22:48:44 UTC
8acdc46 Be more careful about overflow in trim_bounds_using_alignment (#7645) * Be more careful about overflow in trim_bounds_using_alignment Fixes #7575 * trigger buildbots --------- Co-authored-by: Steven Johnson <srj@google.com> 20 June 2023, 22:40:21 UTC
3b7e83a Alternative fix for #4211 (#7628) * Alternative fix for #4211 Call::Prefetch evaluates to a currently-unspecified value of the prefetched type. Let's just make it zero. * Fix prefetch_2d * Fix CodeGen_C * Fix CodeGen_C * trigger buildbots --------- Co-authored-by: Steven Johnson <srj@google.com> 17 June 2023, 00:21:19 UTC
2149734 Revise LLVM fix to work when no V8 or WABT available (#7635) * Revise LLVM fix to work when no V8 or WABT available * Update WasmExecutor.cpp * Update WasmExecutor.cpp * Update WasmExecutor.cpp 15 June 2023, 00:48:09 UTC
932ad0b Deprecate OpenGLCompute for Halide 16 (#7627) * Deprecate OpenGLCompute for Halide 16 * clang-format 14 June 2023, 17:15:18 UTC
1f5b207 Fix wasm linker for top-of-tree LLVM (#7634) 13 June 2023, 23:55:36 UTC
37fd8c4 Bump HALIDE_VERSION_MAJOR to 16 in makefile in prep for release (#7632) Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 13 June 2023, 20:34:48 UTC
fa3d87c Fix inverted may_subtile checks (#7626) 13 June 2023, 16:31:34 UTC
bd62a35 Significant change to RISC V and scalable vector code generation. (#7616) * Completely rework how RISC-V vector intrinsics are called to avoid issues iwth single element vectors being confused with scalars and other conversions that can happen via using call_intrin. Allows using any size vector. Only downside is splitting large vectors no longer happens, but RISC-V allows an LMUL of 8, meaning a vector of up to 8 times the vector register size will compile so this is much less of an issue. Splitting larger vectors can be added. Should also allow fractionaly LMUL in all cases, but this is not verified. * Significant refactor/rewrite of RISC V vector intrinsics support. Should handle many more cases and be well on the way to handling arbitary vector widths within the LMUL range. More tests added to simd_op_check_riscv . Likely well setup to move SVE2 to a similar approach, perhaps without the full genearilty on vector lengths. (I.e. they may need to be quantized to vscale, or offer better performance in that case.) * Formatting fixes. * More formatting. * Don't try to convert void types to match expected vector type. * Backout comment change that is no longer relevant. * Fix failure in camera_pipe app. (Code to make sure vector types match was being presented with a scalar only mismatch. Changed it to ignore scalar to scalar cases.) Address review feedback. * One more review comment. * Comment fix. --------- Co-authored-by: Steven Johnson <srj@google.com> 08 June 2023, 01:18:19 UTC
67eaff3 Upgrade our PyBind11 version to 2.10.4 (#7617) (#7618) * Upgrade our PyBind11 version to 2.10.4 (#7617) * Forgot to save 07 June 2023, 00:30:45 UTC
123d855 Fix PCH build failures (#7613) * Fix PCH build failures (Harvested from #7604 to land separately) * Update CMakeLists.txt 06 June 2023, 16:28:34 UTC
ffd20c9 Revert "[Hexagon] Fix compilation failures hexagon_remote" (#7614) Revert "[Hexagon] Fix compilation failures hexagon_remote (#7601)" This reverts commit bd33a629adfd89129d21fe82e68fc7d20f935283. 05 June 2023, 20:33:21 UTC
2304dd8 Add missing deps for some autoscheduler tests (#7605) * Add missing deps for some autoscheduler tests Autoscheduler tests that rely on the relevant shared library being available at runtime need to add a dependency to ensure this is the case. * Update CMakeLists.txt * Update test.cpp * Update CMakeLists.txt * Update CMakeLists.txt * Update test/autoschedulers/li2018/CMakeLists.txt Co-authored-by: Alex Reinking <alex.reinking@gmail.com> --------- Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 05 June 2023, 19:16:59 UTC
51e4e04 Add target triple setup for RISC V Android. (#7612) Add target triple setup for RISC V Android. More guess based than test based but I'm 80% confident these are good choices. Data layout seems to be the same as well. 05 June 2023, 19:16:21 UTC
7e57438 Silence `psabi` warnings when compiling C++ generated code (#7603) * Silence `psabi` warnings when compiling C++ generated code Some versions of GCC/Clang emit many of these warnings when compiling in some Intel configurations, and they are useless in this context. Make them go away. * Update cmake/HalideGeneratorHelpers.cmake Co-authored-by: Alex Reinking <alex.reinking@gmail.com> --------- Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 05 June 2023, 16:59:48 UTC
9ee2d0c Update Compiler/OS versions in README (#7610) 03 June 2023, 00:34:54 UTC
f3e1829 Adds fuzzing preset (#7566) * Adds fuzzing preset Partial fix for #7552 * Adds documentation on fuzz testing Closes: #7552 * Fixes spelling/grammar in fuzzing readme Co-authored-by: Alex Reinking <alex.reinking@gmail.com> * Remove asan flags from fuzzer * Add build directory in cmake/fuzzing documentation * Configure the fuzz tests to run for a finite amount of time * Update README * Update README_fuzz_testing.md * trigger buildbots * trigger buildbots * trigger buildbots * Update CMakeLists.txt --------- Co-authored-by: Steven Johnson <srj@google.com> Co-authored-by: Alex Reinking <alex.reinking@gmail.com> 01 June 2023, 20:46:49 UTC
4991231 Disable fuzzer when using ASAN (#7602) 01 June 2023, 19:52:02 UTC
bd33a62 [Hexagon] Fix compilation failures hexagon_remote (#7601) Fix for: 1. Include directory for pthread.h 2. Function signature for qurt_hvx_lock Co-authored-by: Ankit Aggarwal <aankit@quicinc.com> 01 June 2023, 18:55:31 UTC
3e6e2a5 Fix operator/ on ModulusRemainder (#7597) It wasn't reducing the remainder modulo the modulus, which confused trim_bounds_using_alignment in the simplifier. 01 June 2023, 17:36:56 UTC
eb9b946 Apply fix from #7564 to fuzz/bounds (#7596) (Avoids infinite loop for some fuzzing inputs) 30 May 2023, 22:39:41 UTC
b450647 [Fix for #7524] Skip tests for anderson2021 if PTX is not enabled (#7593) Skip tests for anderson2021 if PTX is not enabled 25 May 2023, 21:07:38 UTC
ca8ca00 Pacify clang-tidy by removing unused constant (#7590) 24 May 2023, 20:14:29 UTC
6a98655 fuzz: Add libfuzzer compatible bounds fuzzer (#7549) * fuzz: Add libfuzzer compatible bounds fuzzer * Remove unused constant * Style fix * Fix handling of binary ops * Handle casting to vector-of-bool properly * fuzz: Alphabetically sort targets in CMake --------- Co-authored-by: Steven Johnson <srj@google.com> 22 May 2023, 17:16:28 UTC
d234143 Check for slightly different error msg in AppleClang 14.0.3 (#7582) * Check for slightly different error msg in AppleClang 14.0.3 * Update Makefile 18 May 2023, 19:04:34 UTC
02768ef In fuzz/simplify, output errors to cerr, not cout (#7583) * In fuzz/simplify, output errors to cerr, not cout This makes it easier to capture error output in downstream test harnesses * Also add some more helpful text 18 May 2023, 17:43:49 UTC
4282a5d Fix #7579 (#7580) Fix per @jrprice. (He comments that we should probably regenerate all of mini_webgpu.h, and document how to do that; this is a band-aid to unbreak testing.) 18 May 2023, 17:05:36 UTC
2ed955e Fix various compilation errors with AppleClang 14.0.3 (#7578) * Change & -> && usage Newer versions of Xcode trigger `-Wbitwise-instead-of-logical` for this usage, which we treat as an error * Also fix `error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]` * Also fix `retrain_cost_model.cpp:419:17: error: variable 'counter' set but not used [-Werror,-Wunused-but-set-variable]` 18 May 2023, 00:49:25 UTC
6c8f7aa [vulkan] Fix subregion memory offsets to respect buffer alignment (#7576) * Fix buffer alignment constraints for subregion allocations (some drivers report a minimum alignment for the buffer that is larger than the storage or uniform storage offset alignemnt) Cleanup region offset and size constraints * Clang tidy/format pass --------- Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 17 May 2023, 23:05:00 UTC
30d309e [vulkan] Change the feature version requirement to v1.3 for correctness_gpu_dynamic_shared (#7577) Change the feature version requirement to v1.3 (since v1.2 lacks the necessary support). Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 17 May 2023, 23:04:45 UTC
2fd90bf [vulkan] Disable generator acquire_release test for Vulkan (#7565) Disable test for Vulkan Co-authored-by: Derek Gerstmann <dgerstmann@adobe.com> 17 May 2023, 18:47:36 UTC
968e52c Upgrade WABT to 1.0.33 (#7570) * Upgrade WABT to 1.0.33 * Update CMakeLists.txt * Update CMakeLists.txt 17 May 2023, 17:09:47 UTC
76bb84d Allow autoconversion from `Buffer<T>` -> `Buffer<const T>&` and to `Buffer<void>&` (#7571) * Allow autoconversion from `Buffer<T>` -> `Buffer<const T>&` When you are intermixing CPU and GPU calls in a single piece of code, it's preferable to pass `Buffer<>` by nonconst reference, so that lazy host<->device copies are done efficiently. However, many callers prefer to define input Buffers as `Buffer<const T>` (as they should), but the fact that this form didn't easily allow autoconversion from caller (whihc may well have constructed the buffer as non-const) to callee (due to incompatible type references) led some users to just pass by a copy, since these autoconverted. This had a couple of undesirable effects: - Making a copy cost a small but nonzero amount of code (managing refcounts, etc) - More importantly, lazy copies in the callee got 'lost' to the caller, since the `halide_buffer_t` in the callee was a copy, thus any added `device` value or change in dirty bits was never seen. This could previously be worked around by adding explicit calls to `.as_const()`, but that is ugly and awkward. This change adds an ugly-but-safe implicit-conversion overload, to allow converting `Buffer<T>&` to `Buffer<const T>&`, iff T isn't already const. This will allow cleaning up downstream code to pass by references more consistently, without needing to add `.as_const()` warts. * Also add convenience conversions for Buffer<void>& 16 May 2023, 18:25:08 UTC
f121abf Fix save_tiff() PlanarConfig assignment for monochrome inputs (#7568) Fixes #7567. 15 May 2023, 23:47:02 UTC
ae53d9b Avoid potentially infinite loop in fuzz/simplify.cpp (#7564) FuzzedDataProvider is *not* a RNG; there's no guarantee that it won't return the same data to you forever. This means that the loop to find a new subtype may never terminate (eg if the 'random' type returned always matches the input type). This "fixes" it by just adding a count to break out of the loop, in which case we just use the original type. Not sure if there's a more elegant fix? 12 May 2023, 18:18:20 UTC
e0ef57a Remove unique_name() usage from fuzz/cse (#7563) 12 May 2023, 16:37:40 UTC
252c4b8 Add/augment some runtime debug output (#7561) - in `halide_buffer_to_string()`, print the `halide_buffer_t*` pointer value as well - in `debug_log_and_validate_buf()`, do debug logging for some failure modes that return errors 11 May 2023, 17:07:30 UTC
back to top