208 std::string invocation_leader =
"invocation: ") {
210 argc, argv, invocation_leader);
277 const std::string& descr)
const =0;
Kernel environment.
Definition yask_kernel_api.hpp:167
static void print_splash(int argc, char **argv, std::string invocation_leader="invocation: ")
Print a YASK spash message to debug output.
Definition yask_kernel_api.hpp:207
virtual idx_t sum_over_ranks(idx_t rank_val) const =0
Find sum of an idx_t value over all ranks.
virtual void global_barrier() const =0
Wait until all ranks have reached this element.
virtual YASK_NORETURN void exit(int code)=0
Finalize the environment and exit.
static yask_output_ptr get_debug_output()
Get object to receive debug output.
virtual int get_rank_index() const =0
Get MPI rank index.
static void set_debug_output(yask_output_ptr debug)
Set object to receive debug output.
static void disable_debug_output()
Disable the debug output.
virtual void finalize()=0
Finalize the environment.
virtual void assert_equality_over_ranks(idx_t rank_val, const std::string &descr) const =0
Makes sure an idx_t values is the same over all ranks.
static bool is_trace_enabled()
Get whether tracing is enabled.
static void set_trace_enabled(bool enable)
Enable or disable additional debug tracing.
virtual int get_num_ranks() const =0
Get number of MPI ranks.
Bootstrap factory to create a stencil solution.
Definition yask_kernel_api.hpp:82
virtual std::string get_version_string()
Version information.
virtual yk_env_ptr new_env(MPI_Comm comm) const
Create a yk_env object using the provided MPI communicator.
virtual yk_solution_ptr new_solution(yk_env_ptr env, const yk_solution_ptr source) const
[Advanced] Create a stencil solution by copying the settings from another.
virtual yk_solution_ptr new_solution(yk_env_ptr env) const
Create a stencil solution.
virtual yk_env_ptr new_env() const
Create an object to hold environment information.
Stencil solution as defined by the generated code from the YASK stencil compiler.
Definition yk_solution_api.hpp:82
Statistics from calls to run_solution().
Definition yk_solution_api.hpp:1300
A run-time YASK data container.
Definition yk_var_api.hpp:185
YASK_INT64_T idx_t
Type to use for indexing grids.
Definition yask_common_api.hpp:86
std::shared_ptr< yask_output > yask_output_ptr
Shared pointer to yask_output.
Definition yask_common_api.hpp:105
void yask_print_splash(std::ostream &os, int argc, char **argv, std::string invocation_leader="invocation: ")
Print a YASK spash message to os.
std::shared_ptr< yk_stats > yk_stats_ptr
Shared pointer to yk_stats.
Definition yask_kernel_api.hpp:66
std::shared_ptr< yk_solution > yk_solution_ptr
Shared pointer to yk_solution.
Definition yask_kernel_api.hpp:58
std::shared_ptr< yk_env > yk_env_ptr
Shared pointer to yk_env.
Definition yask_kernel_api.hpp:54
std::shared_ptr< yk_var > yk_var_ptr
Shared pointer to yk_var.
Definition yask_kernel_api.hpp:62
YASK_DEPRECATED typedef yk_var yk_grid
[Deprecated] Use yk_var.
Definition yask_kernel_api.hpp:299
YASK_DEPRECATED typedef yk_var_ptr yk_grid_ptr
[Deprecated] Use yk_var_ptr.
Definition yask_kernel_api.hpp:302
#define YASK_NORETURN
No-return attribute.
Definition yask_common_api.hpp:64
#define YASK_DEPRECATED
Deprecated attribute.
Definition yask_common_api.hpp:60