|
docc 0.8.3 (0d44999b)
C++ API Reference
|
#include <sdfg/plugins/targets.h>
Public Member Functions | |
| std::function< bool(docc::compile::SrcFileCompilerBuilder &src_compile_builder)> | safe_apply_additional_compile_options_fn_get () |
| std::function< bool(sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options)> | safe_apply_expand_time_mapping_fn_get () |
| std::function< bool(sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options)> | safe_apply_sched_time_mapping_fn_get () |
| std::vector< std::shared_ptr< sdfg::passes::scheduler::LoopScheduler > > | safe_get_target_loop_schedulers (const TargetOptions &options) const |
| std::string | safe_get_default_contraction_precision () const |
| bool | safe_get_direct_contraction_rescaling () const |
Public Attributes | |
| int | api_ver = NEWEST_API_VER |
| std::string | short_name |
| bool(* | apply_additional_compile_options )(docc::compile::SrcFileCompilerBuilder &src_compile_builder) |
| bool(* | apply_expand_time_mapping )(sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options) |
| Consider these hooks experimental. | |
| bool(* | apply_sched_time_mapping )(sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options) |
| std::vector< std::shared_ptr< sdfg::passes::scheduler::LoopScheduler > >(* | get_target_loop_schedulers )(const TargetOptions &options) |
| std::string | default_contraction_precision = "native" |
| How Float and Double matmuls compute when the user selects nothing, as TargetOptions::contraction_precision spells it, e.g. | |
| bool | direct_contraction_rescaling = false |
| Whether quantized and Ozaki contractions multiply by their scales and compute in the contraction's own type, as a target without Double, floor or exact powers of two needs (fp_math::Rescaling::Direct); Ozaki then slices. | |
Static Public Attributes | |
| static constexpr int | NEWEST_API_VER = 3 |
|
inline |
|
inline |
|
inline |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
| int docc::target::DoccTarget::api_ver = NEWEST_API_VER |
| bool(* docc::target::DoccTarget::apply_additional_compile_options) (docc::compile::SrcFileCompilerBuilder &src_compile_builder) |
| bool(* docc::target::DoccTarget::apply_expand_time_mapping) (sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options) |
Consider these hooks experimental.
They allow completely custom modification of the SDFG. In the future we may want to move more towards pass-management
| bool(* docc::target::DoccTarget::apply_sched_time_mapping) (sdfg::builder::StructuredSDFGBuilder &builder, sdfg::analysis::AnalysisManager &analysis_manager, const TargetOptions &options) |
| std::string docc::target::DoccTarget::default_contraction_precision = "native" |
How Float and Double matmuls compute when the user selects nothing, as TargetOptions::contraction_precision spells it, e.g.
an Ozaki emulation for a target that multiplies only integers.
| bool docc::target::DoccTarget::direct_contraction_rescaling = false |
Whether quantized and Ozaki contractions multiply by their scales and compute in the contraction's own type, as a target without Double, floor or exact powers of two needs (fp_math::Rescaling::Direct); Ozaki then slices.
| std::vector< std::shared_ptr< sdfg::passes::scheduler::LoopScheduler > >(* docc::target::DoccTarget::get_target_loop_schedulers) (const TargetOptions &options) |
|
staticconstexpr |
| std::string docc::target::DoccTarget::short_name |