|
YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
|
Classes | |
| class | yask::yask_exception |
| Exception from YASK framework. More... | |
| class | yask::yask_output_factory |
| Factory to create output objects. More... | |
| class | yask::yask_output |
| Base interface for output. More... | |
| class | yask::yask_file_output |
| File output. More... | |
| class | yask::yask_string_output |
| String output. More... | |
| class | yask::yask_stdout_output |
| Stdout output. More... | |
| class | yask::yask_null_output |
| Null output. More... | |
| class | yask::command_line_parser |
| A class to parse command-line arguments. More... | |
Macros | |
| #define | THROW_YASK_EXCEPTION(message) |
| Macro for creating and throwing a yask_exception with a string. | |
| #define | FORMAT_AND_THROW_YASK_EXCEPTION(message) |
| Macro for creating and throwing a yask_exception using stream operators. | |
Typedefs | |
| typedef YASK_INT64_T | yask::idx_t |
| Type to use for indexing grids. | |
| typedef std::vector< idx_t > | yask::idx_t_vec |
| Vector of indices. | |
| typedef std::initializer_list< idx_t > | yask::idx_t_init_list |
| Initializer list of indices. | |
| typedef std::vector< std::string > | yask::string_vec |
| Vector of strings. | |
| typedef std::shared_ptr< yask_output > | yask::yask_output_ptr |
| Shared pointer to yask_output. | |
| typedef std::shared_ptr< yask_file_output > | yask::yask_file_output_ptr |
| Shared pointer to yask_file_output. | |
| typedef std::shared_ptr< yask_string_output > | yask::yask_string_output_ptr |
| Shared pointer to yask_string_output. | |
| typedef std::shared_ptr< yask_stdout_output > | yask::yask_stdout_output_ptr |
| Shared pointer to yask_stdout_output. | |
| typedef std::shared_ptr< yask_null_output > | yask::yask_null_output_ptr |
| Shared pointer to yask_null_output. | |
Functions | |
| std::string | yask::yask_get_version_string () |
| Version information. | |
| std::vector< double > | yask::get_center_fd_coefficients (int derivative_order, int radius) |
| Create finite-difference (FD) coefficients for the standard center form. | |
| std::vector< double > | yask::get_forward_fd_coefficients (int derivative_order, int accuracy_order) |
| Create finite-difference (FD) coefficients for the standard forward form. | |
| std::vector< double > | yask::get_backward_fd_coefficients (int derivative_order, int accuracy_order) |
| Create finite-difference (FD) coefficients for the standard backward form. | |
| std::vector< double > | yask::get_arbitrary_fd_coefficients (int derivative_order, double eval_point, const std::vector< double > sample_points) |
| Create finite-difference (FD) coefficients at arbitrary evaluation and sample points. | |
| void | yask::yask_print_splash (std::ostream &os, int argc, char **argv, std::string invocation_leader="invocation: ") |
Print a YASK spash message to os. | |
Types, clases, and functions used in both the YASK Stencil Compiler API and YASK Stencil Kernel API.
| #define THROW_YASK_EXCEPTION | ( | message | ) |
Macro for creating and throwing a yask_exception with a string.
Example: THROW_YASK_EXCEPTION("all your base are belong to us");
| #define FORMAT_AND_THROW_YASK_EXCEPTION | ( | message | ) |
Macro for creating and throwing a yask_exception using stream operators.
Example: FORMAT_AND_THROW_YASK_EXCEPTION("bad value: x = " << x);
| typedef YASK_INT64_T yask::idx_t |
Type to use for indexing grids.
Index types are signed to allow negative indices in padding/halos.
| typedef std::initializer_list<idx_t> yask::idx_t_init_list |
Initializer list of indices.
idx_t_vec instead. | std::string yask::yask_get_version_string | ( | ) |
Version information.
| std::vector< double > yask::get_center_fd_coefficients | ( | int | derivative_order, |
| int | radius | ||
| ) |
Create finite-difference (FD) coefficients for the standard center form.
Find FD coefficients with radius sample points to both the left and right of the center sample and evaluation point on a uniformly-spaced grid. The FD has radius * 2-order accuracy.
radius * 2 + 1 FD coefficients. | [in] | derivative_order | 1 for 1st derivative, 2 for 2nd, etc. |
| [in] | radius | Number of points to either side of the center point. |
| std::vector< double > yask::get_forward_fd_coefficients | ( | int | derivative_order, |
| int | accuracy_order | ||
| ) |
Create finite-difference (FD) coefficients for the standard forward form.
Find FD coefficients with accuracy_order sample points to the right of the center sample and evaluation point on a uniformly-spaced grid.
accuracy_order + 1 FD coefficients. | [in] | derivative_order | 1 for 1st derivative, 2 for 2nd, etc. |
| [in] | accuracy_order | Number of points to the right of the center point. |
| std::vector< double > yask::get_backward_fd_coefficients | ( | int | derivative_order, |
| int | accuracy_order | ||
| ) |
Create finite-difference (FD) coefficients for the standard backward form.
Find FD coefficients with accuracy_order sample points to the left of the center sample and evaluation point on a uniformly-spaced grid.
accuracy_order + 1 FD coefficients. | [in] | derivative_order | 1 for 1st derivative, 2 for 2nd, etc. |
| [in] | accuracy_order | Number of points to the left of the center point. |
| std::vector< double > yask::get_arbitrary_fd_coefficients | ( | int | derivative_order, |
| double | eval_point, | ||
| const std::vector< double > | sample_points | ||
| ) |
Create finite-difference (FD) coefficients at arbitrary evaluation and sample points.
sample_points FD coefficients. | [in] | derivative_order | 1 for 1st derivative, 2 for 2nd, etc. |
| [in] | eval_point | Location of evaluation point. |
| [in] | sample_points | Locations of sampled points. Must have at least 2. |
| void yask::yask_print_splash | ( | std::ostream & | os, |
| int | argc, | ||
| char ** | argv, | ||
| std::string | invocation_leader = "invocation: " |
||
| ) |
Print a YASK spash message to os.
Splash message contains the YASK copyright, URL, and version. If argc > 1, also prints invocation_leader followed by the program invocation string.