YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
|
#include <cassert>
#include <map>
Go to the source code of this file.
Classes | |
class | yask::yc_solution_base |
A base class for defining solutions to be kept in a common registry. More... | |
class | yask::yc_solution_with_radius_base |
A base class for stencils that have a "radius" size parameter. More... | |
Macros | |
#define | MAKE_STEP_INDEX(dim_name) yc_index_node_ptr dim_name = new_step_index(#dim_name) |
Convenience macro for declaring a step index in a class derived from yask::yc_solution_base. | |
#define | MAKE_DOMAIN_INDEX(dim_name) yc_index_node_ptr dim_name = new_domain_index(#dim_name) |
Convenience macro for declaring a domain index in a class derived from yask::yc_solution_base. | |
#define | MAKE_MISC_INDEX(dim_name) yc_index_node_ptr dim_name = new_misc_index(#dim_name) |
Convenience macro for declaring a misc index in a class derived from yask::yc_solution_base. | |
#define | MAKE_VAR(var_name, ...) yc_var_proxy var_name = yc_var_proxy(#var_name, get_soln(), { __VA_ARGS__ }, false) |
Convenience macro for creating a yask::yc_var_proxy for an n-dimensional YASK variable. | |
#define | MAKE_SCRATCH_VAR(var_name, ...) yc_var_proxy var_name = yc_var_proxy(#var_name, get_soln(), { __VA_ARGS__ }, true) |
Convenience macro for creating a yask::yc_var_proxy for an n-dimensional YASK scratch variable. | |
#define | MAKE_SCALAR_VAR(var_name) MAKE_VAR(var_name) |
Convenience macro for creating a yask::yc_var_proxy for a scalar YASK variable. | |
#define | REGISTER_SOLUTION(class_name) static class_name class_name ## _instance |
Convenience macro for declaring an object of a type derived from yask::yc_solution_base. | |