1#ifndef HALIDE_DEVICE_INTERFACE_H
2#define HALIDE_DEVICE_INTERFACE_H
23 const char *error_site =
nullptr);
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Defines the structure that describes a Halide target.
Expr make_device_interface_call(DeviceAPI device_api, MemoryType memory_type=MemoryType::Auto)
Get an Expr which evaluates to the device interface for the given device api at runtime.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
bool host_supports_target_device(const Target &t)
This attempts to sniff whether a given Target (and its implied DeviceAPI) is usable on the current ho...
DeviceAPI get_default_device_api_for_target(const Target &t)
Get the specific DeviceAPI that Halide would select when presented with DeviceAPI::Default_GPU for a ...
const halide_device_interface_t * get_device_interface_for_device_api(DeviceAPI d, const Target &t=get_jit_target_from_environment(), const char *error_site=nullptr)
Gets the appropriate halide_device_interface_t * for a DeviceAPI.
Target get_jit_target_from_environment()
Return the target that Halide will use for jit-compilation.
DeviceAPI
An enum describing a type of device API.
MemoryType
An enum describing different address spaces to be used with Func::store_in.
@ Auto
Let Halide select a storage type automatically.
A fragment of Halide syntax.
A struct representing a target machine and os to generate code for.
Each GPU API provides a halide_device_interface_t struct pointing to the code that manages device all...