Halide
19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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
,
18
Default_GPU
,
19
CUDA
,
20
OpenCL
,
21
Metal
,
22
Hexagon
,
23
HexagonDma
,
24
D3D12Compute
,
25
Vulkan
,
26
WebGPU
,
27
};
28
29
/** An array containing all the device apis. Useful for iterating
30
* through them. */
31
const
DeviceAPI
all_device_apis
[] = {
DeviceAPI::None
,
32
DeviceAPI::Host
,
33
DeviceAPI::Default_GPU
,
34
DeviceAPI::CUDA
,
35
DeviceAPI::OpenCL
,
36
DeviceAPI::Metal
,
37
DeviceAPI::Hexagon
,
38
DeviceAPI::HexagonDma
,
39
DeviceAPI::D3D12Compute
,
40
DeviceAPI::Vulkan
,
41
DeviceAPI::WebGPU
};
42
43
}
// namespace Halide
44
45
#endif
// HALIDE_DEVICEAPI_H
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition
AbstractGenerator.h:19
Halide::DeviceAPI
DeviceAPI
An enum describing a type of device API.
Definition
DeviceAPI.h:15
Halide::DeviceAPI::Hexagon
@ Hexagon
Halide::DeviceAPI::Vulkan
@ Vulkan
Halide::DeviceAPI::HexagonDma
@ HexagonDma
Halide::DeviceAPI::None
@ None
Halide::DeviceAPI::OpenCL
@ OpenCL
Halide::DeviceAPI::CUDA
@ CUDA
Halide::DeviceAPI::D3D12Compute
@ D3D12Compute
Halide::DeviceAPI::Host
@ Host
Used to denote for loops that run on the same device as the containing code.
Halide::DeviceAPI::WebGPU
@ WebGPU
Halide::DeviceAPI::Metal
@ Metal
Halide::DeviceAPI::Default_GPU
@ Default_GPU
Halide::all_device_apis
const DeviceAPI all_device_apis[]
An array containing all the device apis.
Definition
DeviceAPI.h:31
src
DeviceAPI.h
Generated by
1.12.0