halide 19.0.0__cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. halide/__init__.py +39 -0
  2. halide/_generator_helpers.py +835 -0
  3. halide/bin/adams2019_retrain_cost_model +0 -0
  4. halide/bin/adams2019_weightsdir_to_weightsfile +0 -0
  5. halide/bin/anderson2021_retrain_cost_model +0 -0
  6. halide/bin/anderson2021_weightsdir_to_weightsfile +0 -0
  7. halide/bin/featurization_to_sample +0 -0
  8. halide/bin/gengen +0 -0
  9. halide/bin/get_host_target +0 -0
  10. halide/halide_.cpython-312-x86_64-linux-gnu.so +0 -0
  11. halide/imageio.py +60 -0
  12. halide/include/Halide.h +35293 -0
  13. halide/include/HalideBuffer.h +2618 -0
  14. halide/include/HalidePyTorchCudaHelpers.h +64 -0
  15. halide/include/HalidePyTorchHelpers.h +120 -0
  16. halide/include/HalideRuntime.h +2221 -0
  17. halide/include/HalideRuntimeCuda.h +89 -0
  18. halide/include/HalideRuntimeD3D12Compute.h +91 -0
  19. halide/include/HalideRuntimeHexagonDma.h +104 -0
  20. halide/include/HalideRuntimeHexagonHost.h +157 -0
  21. halide/include/HalideRuntimeMetal.h +112 -0
  22. halide/include/HalideRuntimeOpenCL.h +119 -0
  23. halide/include/HalideRuntimeQurt.h +32 -0
  24. halide/include/HalideRuntimeVulkan.h +137 -0
  25. halide/include/HalideRuntimeWebGPU.h +44 -0
  26. halide/lib64/cmake/Halide/FindHalide_LLVM.cmake +152 -0
  27. halide/lib64/cmake/Halide/FindV8.cmake +33 -0
  28. halide/lib64/cmake/Halide/Halide-shared-deps.cmake +0 -0
  29. halide/lib64/cmake/Halide/Halide-shared-targets-release.cmake +29 -0
  30. halide/lib64/cmake/Halide/Halide-shared-targets.cmake +154 -0
  31. halide/lib64/cmake/Halide/HalideConfig.cmake +162 -0
  32. halide/lib64/cmake/Halide/HalideConfigVersion.cmake +65 -0
  33. halide/lib64/cmake/HalideHelpers/FindHalide_WebGPU.cmake +27 -0
  34. halide/lib64/cmake/HalideHelpers/Halide-Interfaces-release.cmake +116 -0
  35. halide/lib64/cmake/HalideHelpers/Halide-Interfaces.cmake +236 -0
  36. halide/lib64/cmake/HalideHelpers/HalideGeneratorHelpers.cmake +1056 -0
  37. halide/lib64/cmake/HalideHelpers/HalideHelpersConfig.cmake +28 -0
  38. halide/lib64/cmake/HalideHelpers/HalideHelpersConfigVersion.cmake +54 -0
  39. halide/lib64/cmake/HalideHelpers/HalideTargetHelpers.cmake +99 -0
  40. halide/lib64/cmake/HalideHelpers/MutexCopy.ps1 +31 -0
  41. halide/lib64/cmake/HalideHelpers/TargetExportScript.cmake +55 -0
  42. halide/lib64/cmake/Halide_Python/Halide_Python-targets-release.cmake +30 -0
  43. halide/lib64/cmake/Halide_Python/Halide_Python-targets.cmake +125 -0
  44. halide/lib64/cmake/Halide_Python/Halide_PythonConfig.cmake +26 -0
  45. halide/lib64/cmake/Halide_Python/Halide_PythonConfigVersion.cmake +65 -0
  46. halide/lib64/libHalide.so +0 -0
  47. halide/lib64/libHalidePyStubs.a +0 -0
  48. halide/lib64/libHalide_GenGen.a +0 -0
  49. halide/lib64/libautoschedule_adams2019.so +0 -0
  50. halide/lib64/libautoschedule_anderson2021.so +0 -0
  51. halide/lib64/libautoschedule_li2018.so +0 -0
  52. halide/lib64/libautoschedule_mullapudi2016.so +0 -0
  53. halide/share/doc/Halide/LICENSE.txt +233 -0
  54. halide/share/doc/Halide/README.md +439 -0
  55. halide/share/doc/Halide/doc/BuildingHalideWithCMake.md +626 -0
  56. halide/share/doc/Halide/doc/CodeStyleCMake.md +393 -0
  57. halide/share/doc/Halide/doc/FuzzTesting.md +104 -0
  58. halide/share/doc/Halide/doc/HalideCMakePackage.md +812 -0
  59. halide/share/doc/Halide/doc/Hexagon.md +73 -0
  60. halide/share/doc/Halide/doc/Python.md +844 -0
  61. halide/share/doc/Halide/doc/RunGen.md +283 -0
  62. halide/share/doc/Halide/doc/Testing.md +125 -0
  63. halide/share/doc/Halide/doc/Vulkan.md +287 -0
  64. halide/share/doc/Halide/doc/WebAssembly.md +228 -0
  65. halide/share/doc/Halide/doc/WebGPU.md +128 -0
  66. halide/share/tools/RunGen.h +1470 -0
  67. halide/share/tools/RunGenMain.cpp +642 -0
  68. halide/share/tools/adams2019_autotune_loop.sh +227 -0
  69. halide/share/tools/anderson2021_autotune_loop.sh +591 -0
  70. halide/share/tools/halide_benchmark.h +240 -0
  71. halide/share/tools/halide_image.h +31 -0
  72. halide/share/tools/halide_image_info.h +318 -0
  73. halide/share/tools/halide_image_io.h +2794 -0
  74. halide/share/tools/halide_malloc_trace.h +102 -0
  75. halide/share/tools/halide_thread_pool.h +161 -0
  76. halide/share/tools/halide_trace_config.h +559 -0
  77. halide-19.0.0.data/data/share/cmake/Halide/HalideConfig.cmake +6 -0
  78. halide-19.0.0.data/data/share/cmake/Halide/HalideConfigVersion.cmake +65 -0
  79. halide-19.0.0.data/data/share/cmake/HalideHelpers/HalideHelpersConfig.cmake +6 -0
  80. halide-19.0.0.data/data/share/cmake/HalideHelpers/HalideHelpersConfigVersion.cmake +54 -0
  81. halide-19.0.0.dist-info/METADATA +301 -0
  82. halide-19.0.0.dist-info/RECORD +84 -0
  83. halide-19.0.0.dist-info/WHEEL +6 -0
  84. halide-19.0.0.dist-info/licenses/LICENSE.txt +233 -0
@@ -0,0 +1,73 @@
1
+ # Halide for Hexagon HVX
2
+
3
+ Halide supports offloading work to Qualcomm Hexagon DSP on Qualcomm Snapdragon
4
+ 845/710 devices or newer. The Hexagon DSP provides a set of 128 byte vector
5
+ instruction extensions - the Hexagon Vector eXtensions (HVX). HVX is well suited
6
+ for image processing, and Halide for Hexagon HVX will generate the appropriate
7
+ HVX vector instructions from a program authored in Halide.
8
+
9
+ Halide can be used to compile Hexagon object files directly, by using a target
10
+ such as `hexagon-32-qurt-hvx`.
11
+
12
+ Halide can also be used to offload parts of a pipeline to Hexagon using the
13
+ `hexagon` scheduling directive. To enable the `hexagon` scheduling directive,
14
+ include the `hvx` target feature in your target. The currently supported
15
+ combination of targets is to use the HVX target features with an x86 linux
16
+ host (to use the simulator) or with an ARM android target (to use Hexagon DSP
17
+ hardware). For examples of using the `hexagon` scheduling directive on both the
18
+ simulator and a Hexagon DSP, see the blur example app.
19
+
20
+ To build and run an example app using the Hexagon target,
21
+
22
+ 1. Obtain and build trunk LLVM and Clang. (Earlier versions of LLVM may work but
23
+ are not actively tested and thus not recommended.)
24
+ 2. Download and install the Hexagon SDK and Hexagon Tools. Hexagon SDK 4.3.0 or
25
+ later is needed. Hexagon Tools 8.4 or later is needed.
26
+ 3. Build and run an example for Hexagon HVX
27
+
28
+ ## 1. Obtain and build trunk LLVM and Clang
29
+
30
+ (Follow the instructions given previously, just be sure to check out the `main`
31
+ branch.)
32
+
33
+ ## 2. Download and install the Hexagon SDK and Hexagon Tools
34
+
35
+ Go to https://qpm.qualcomm.com/#/main/home
36
+
37
+ 1. Go to Tools, and download Qualcomm Package Manager 3. Install the package
38
+ manager on your machine.
39
+ 2. Run the installed Qualcomm Package Manager and install the Qualcomm Hexagon
40
+ SDK 5.x (or 4.x). The SDK can be selected from the Qualcomm Hexagon SDK
41
+ Products.
42
+ 3. Set an environment variable to point to the SDK installation location
43
+ ```
44
+ export SDK_LOC=/location/of/SDK
45
+ ```
46
+
47
+ ## 3. Build and run an example for Hexagon HVX
48
+
49
+ In addition to running Hexagon code on device, Halide also supports running
50
+ Hexagon code on the simulator from the Hexagon tools.
51
+
52
+ To build and run the blur example in Halide/apps/blur on the simulator:
53
+
54
+ ```
55
+ cd apps/blur
56
+ export HL_HEXAGON_SIM_REMOTE=../../src/runtime/hexagon_remote/bin/v65/hexagon_sim_remote
57
+ export HL_HEXAGON_TOOLS=$SDK_LOC/Hexagon_Tools/8.x/Tools/
58
+ LD_LIBRARY_PATH=../../src/runtime/hexagon_remote/bin/host/:$HL_HEXAGON_TOOLS/lib/iss/:. HL_TARGET=host-hvx make test
59
+ ```
60
+
61
+ ## To build and run the blur example in Halide/apps/blur on Android:
62
+
63
+ To build the example for Android, first ensure that you have Android NDK r19b or
64
+ later installed, and the ANDROID_NDK_ROOT environment variable points to it.
65
+ (Note that Qualcomm Hexagon SDK v4.3.0 includes Android NDK r19c, which is
66
+ fine.)
67
+
68
+ Now build and run the blur example using the script to run it on device:
69
+
70
+ ```
71
+ export HL_HEXAGON_TOOLS=$SDK_LOC/HEXAGON_Tools/8.4.11/Tools/
72
+ HL_TARGET=arm-64-android-hvx ./adb_run_on_device.sh
73
+ ```