POET
Getting Started
Installation
Local CMake project
Installed package
FetchContent
Non-CMake builds
Guides
Static Loops
Basic form
Step and direction
Block size
Runnable example
Dynamic Loops
Basic form
Lane-aware callbacks
Compile-time step
C++20 adaptor
Runnable example
Dispatch
Single parameter
Multiple parameters
Sparse combinations
Error handling
Runnable examples
Benchmarks
Run locally
Key takeaways
Run a microbench on Compiler Explorer
API Reference
POET API Reference
Class Hierarchy
File Hierarchy
Full API
Functions
Function poet::available_registers
Function poet::cache_line
Function poet::constructive_interference_size
Function poet::destructive_interference_size
Function poet::detected_isa
Template Function poet::dispatch(Functor&&, FirstParam&&, Rest&&…)
Template Function poet::dispatch(Functor&&, ParamTuple const&, Args&&…)
Template Function poet::dispatch(Functor&&, const dispatch_set<Tuples…>&, Args&&…)
Template Function poet::dispatch(throw_on_no_match_t, Functor&&, const dispatch_set<Tuples…>&, Args&&…)
Template Function poet::dispatch(throw_on_no_match_t, Functor&&, FirstParam&&, Rest&&…)
Template Function poet::dispatch(throw_on_no_match_t, Functor&&, ParamTuple const&, Args&&…)
Template Function poet::dynamic_for(T1, T2, T3, Func&&)
Template Function poet::dynamic_for(T1, T2, Func&&)
Function poet::registers_for
Template Function poet::static_for
Function poet::vector_lanes_32bit
Function poet::vector_lanes_64bit
Function poet::vector_register_count
Function poet::vector_width_bits
Directories
Directory include
Directory poet
Directory core
Files
File cpu_info.hpp
File dispatch.hpp
File dynamic_for.hpp
File for_utils.hpp
File mdspan_utils.hpp
File poet.hpp
File static_for.hpp
File version.hpp
POET
Index
Edit on GitHub
Index
P
P
poet::available_registers (C++ function)
poet::cache_line (C++ function)
poet::cache_line_info (C++ struct)
poet::cache_line_info::constructive_size (C++ member)
poet::cache_line_info::destructive_size (C++ member)
poet::constructive_interference_size (C++ function)
poet::destructive_interference_size (C++ function)
poet::detected_isa (C++ function)
poet::dispatch (C++ function)
,
[1]
,
[2]
,
[3]
,
[4]
,
[5]
poet::dispatch_param (C++ struct)
poet::dispatch_param::runtime_val (C++ member)
poet::dispatch_param::seq_type (C++ type)
poet::dispatch_set (C++ struct)
poet::dispatch_set::convert_tuple (C++ struct)
,
[1]
poet::dispatch_set::convert_tuple<tuple_<Vs...>> (C++ struct)
,
[1]
poet::dispatch_set::convert_tuple<tuple_<Vs...>>::type (C++ type)
,
[1]
poet::dispatch_set::dispatch_set (C++ function)
poet::dispatch_set::first_t (C++ type)
poet::dispatch_set::runtime_array_t (C++ type)
poet::dispatch_set::runtime_tuple (C++ function)
poet::dispatch_set::runtime_tuple_impl (C++ function)
poet::dispatch_set::same_arity (C++ struct)
,
[1]
poet::dispatch_set::seq_type (C++ type)
poet::dispatch_set::tuple_arity (C++ member)
poet::dynamic_for (C++ function)
,
[1]
poet::inclusive_range (C++ type)
poet::instruction_set (C++ enum)
poet::instruction_set::arm_neon (C++ enumerator)
poet::instruction_set::arm_sve (C++ enumerator)
poet::instruction_set::arm_sve2 (C++ enumerator)
poet::instruction_set::avx (C++ enumerator)
poet::instruction_set::avx2 (C++ enumerator)
poet::instruction_set::avx_512 (C++ enumerator)
poet::instruction_set::generic (C++ enumerator)
poet::instruction_set::mips_msa (C++ enumerator)
poet::instruction_set::ppc_altivec (C++ enumerator)
poet::instruction_set::ppc_vsx (C++ enumerator)
poet::instruction_set::sse2 (C++ enumerator)
poet::instruction_set::sse4_2 (C++ enumerator)
poet::no_match_error (C++ struct)
poet::register_info (C++ struct)
poet::register_info::gp_registers (C++ member)
poet::register_info::isa (C++ member)
poet::register_info::lanes_32bit (C++ member)
poet::register_info::lanes_64bit (C++ member)
poet::register_info::vector_registers (C++ member)
poet::register_info::vector_width_bits (C++ member)
poet::registers_for (C++ function)
poet::throw_on_no_match (C++ member)
poet::throw_on_no_match_t (C++ struct)
poet::tuple_ (C++ struct)
poet::vector_lanes_32bit (C++ function)
poet::vector_lanes_64bit (C++ function)
poet::vector_register_count (C++ function)
poet::vector_width_bits (C++ function)
poet::version_full (C++ member)
poet::version_major (C++ member)
poet::version_minor (C++ member)
poet::version_patch (C++ member)
poet::version_string (C++ member)