Halide  19.0.0
Halide compiler and libraries
DeviceAPI.h
Go to the documentation of this file.
1 #ifndef HALIDE_DEVICEAPI_H
2 #define HALIDE_DEVICEAPI_H
3 
4 /** \file
5  * Defines DeviceAPI.
6  */
7 
8 #include <string>
9 #include <vector>
10 
11 namespace Halide {
12 
13 /** An enum describing a type of device API. Used by schedules, and in
14  * the For loop IR node. */
15 enum class DeviceAPI {
16  None, /// Used to denote for loops that run on the same device as the containing code.
17  Host,
19  CUDA,
20  OpenCL,
21  Metal,
22  Hexagon,
23  HexagonDma,
25  Vulkan,
26  WebGPU,
27 };
28 
29 /** An array containing all the device apis. Useful for iterating
30  * through them. */
42 
43 } // namespace Halide
44 
45 #endif // HALIDE_DEVICEAPI_H
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
DeviceAPI
An enum describing a type of device API.
Definition: DeviceAPI.h:15
@ Host
Used to denote for loops that run on the same device as the containing code.
const DeviceAPI all_device_apis[]
An array containing all the device apis.
Definition: DeviceAPI.h:31