C++-API#
Device Info#
Device Info Functions#
get_support_level(sycl::device const&)#
-
support_level tinytc::get_support_level(sycl::device const &dev)#
Get support level of SYCL device.
- Parameters:
dev – Device
- Returns:
Support Level
create_core_info(sycl::device const&)#
-
shared_handle<tinytc_core_info_t> tinytc::create_core_info(sycl::device const &dev)#
Query core info from SYCL runtime.
- Parameters:
dev – Device
- Returns:
core info
Kernel#
Functions
Kernel Functions#
get_execution_range#
-
sycl::nd_range<3u> tinytc::get_execution_range(sycl::kernel const &krnl, sycl::range<3u> const &num_groups)#
Get SYCL nd_range.
Important: num_groups is in SYCL ZYX order, meaning that the range should contain {num_groups_z, num_groups_y, num_groups_x}.
- Parameters:
krnl – Kernel
num_groups – Number of groups
- Returns:
ND range
get_global_size(sycl::range<3u> const &,sycl::range<3u> const &)#
-
sycl::range<3u> tinytc::get_global_size(sycl::range<3u> const &num_groups, sycl::range<3u> const &local_size)#
Convert group size to SYCL range.
Important: num_groups is in SYCL ZYX order, meaning that the range should contain {num_groups_z, num_groups_y, num_groups_x}.
- Parameters:
num_groups – Number of groups
local_size – Work-group size
- Returns:
Global size
get_group_size(sycl::kernel const &)#
-
sycl::range<3u> tinytc::get_group_size(sycl::kernel const &krnl)#
Get work-group size.
- Parameters:
krnl – Kernel
- Returns:
Work-group size
create_kernel(sycl::kernel_bundle<sycl::bundle_state::executable> const &,char const *)#
-
sycl::kernel tinytc::create_kernel(sycl::kernel_bundle<sycl::bundle_state::executable> const &bundle, char const *name)#
Make SYCL kernel.
- Parameters:
bundle – Kernel bundle
name – Kernel name
- Returns:
SYCL kernel
create_kernel_bundle(sycl::context const &,sycl::device const &,const_tinytc_binary_t)#
-
sycl::kernel_bundle<sycl::bundle_state::executable> tinytc::create_kernel_bundle(sycl::context const &ctx, sycl::device const &dev, const_tinytc_binary_t bin)#
Make SYCL kernel bundle from tinytc binary.
- Parameters:
ctx – Context
dev – Device
bin – Binary
- Returns:
SYCL kernel bundle
create_kernel_bundle(sycl::context const &,sycl::device const &,tinytc_prog_t,tinytc_core_feature_flags_t)#
-
sycl::kernel_bundle<sycl::bundle_state::executable> tinytc::create_kernel_bundle(sycl::context const &ctx, sycl::device const &dev, tinytc_prog_t prg, tinytc_core_feature_flags_t core_features = 0)#
Make SYCL kernel bundle from tinytc program.
- Parameters:
ctx – Context
dev – Device
prg – Program
core_features – requested core features; must be 0 (default) or a combination of tinytc_core_feature_flag_t
- Returns:
SYCL kernel bundle
Recipe#
Functions
Recipe Functions#
create_recipe_handler(sycl::context const &,sycl::device const &,tinytc_recipe_t)#
-
shared_handle<tinytc_recipe_handler_t> tinytc::create_recipe_handler(sycl::context const &ctx, sycl::device const &dev, tinytc_recipe_t rec)#
Make recipe handler.
- Parameters:
ctx – Context
dev – Device
rec – Recipe
- Returns:
SYCL recipe handler
create_recipe_handler(sycl::queue const&,tinytc_recipe_t)#
-
shared_handle<tinytc_recipe_handler_t> tinytc::create_recipe_handler(sycl::queue const &q, tinytc_recipe_t rec)#
Make recipe handler.
- Parameters:
q – Queue
rec – Recipe
- Returns:
SYCL recipe handler
parallel_for#
-
void tinytc::parallel_for(tinytc_recipe_handler_t handler, sycl::handler &cgh)#
Launch recipe with submit call.
- Parameters:
handler – recipe handler
cgh – Handler
submit(tinytc_recipe_handler_t,sycl::queue)#
-
sycl::event tinytc::submit(tinytc_recipe_handler_t handler, sycl::queue q)#
Submit recipe to queue.
- Parameters:
handler – recipe handler
q – Queue
- Returns:
Event
submit(tinytc_recipe_handler_t,sycl::queue,std::vector<sycl::event> const &)#
-
sycl::event tinytc::submit(tinytc_recipe_handler_t handler, sycl::queue q, std::vector<sycl::event> const &dep_events)#
Submit recipe to queue.
- Parameters:
handler – recipe handler
q – Queue
dep_events – Events to wait on
- Returns:
Event
submit(tinytc_recipe_handler_t,sycl::queue,sycl::event const &)#
-
sycl::event tinytc::submit(tinytc_recipe_handler_t handler, sycl::queue q, sycl::event const &dep_event)#
Submit recipe to queue.
- Parameters:
handler – recipe handler
q – Queue
dep_event – Event to wait on
- Returns:
Event