AutoPas  3.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
autopas::options::VectorizationPatternOption Class Reference

Class representing the choices of possible vectorization patterns for the Pairwise Functors. More...

#include <VectorizationPatternOption.h>

Inheritance diagram for autopas::options::VectorizationPatternOption:
Inheritance graph
[legend]
Collaboration diagram for autopas::options::VectorizationPatternOption:
Collaboration graph
[legend]

Public Types

enum  Value { p1xVec , p2xVecDiv2 , pVecDiv2x2 , pVecx1 }
 Possible choices for the vector patterns. More...
 

Public Member Functions

 VectorizationPatternOption ()=default
 Constructor.
 
constexpr VectorizationPatternOption (Value option)
 Constructor from value.
 
constexpr operator Value () const
 Cast to value.
 
- Public Member Functions inherited from autopas::options::Option< VectorizationPatternOption >
 operator bool ()=delete
 Prevents cast to bool by deleting the conversion operator.
 
std::string to_string (bool fixedLength=false) const
 Converts an Option object to its respective string representation.
 

Static Public Member Functions

static std::set< VectorizationPatternOptiongetDiscouragedOptions ()
 Set of options that are very unlikely to be interesting.
 
static std::map< VectorizationPatternOption, std::string > getOptionNames ()
 Provides a way to iterate over the possible choices of Vectorization Patterns.
 
- Static Public Member Functions inherited from autopas::options::Option< VectorizationPatternOption >
static std::set< VectorizationPatternOptiongetAllOptions ()
 Provides a way to iterate over the possible options.
 
static std::set< VectorizationPatternOptiongetMostOptions ()
 Provides a way to iterate over the possible options minus those that are very unlikely to be on interest.
 
static size_t maxStringLength ()
 Returns the number of characters in the string representation of the longest option.
 
static OutputContainer parseOptions (const std::string &optionsString)
 Converts a string of options to a set of enums.
 
static VectorizationPatternOption parseOptionExact (const std::string &optionString)
 Converts a string to an enum.
 

Detailed Description

Class representing the choices of possible vectorization patterns for the Pairwise Functors.

Vectorization patterns refer to the specific strategies used to load and arrange particle data into SIMD registers. Different patterns can lead to different SIMD efficiency due to variation in memory access behavior and data locality.

For details and benchmarking results, see: https://doi.org/10.48550/arXiv.2512.03565

Member Enumeration Documentation

◆ Value

Possible choices for the vector patterns.

Enumerator
p1xVec 

Interact one particle from the first list with the full vector length from the second list.


| i | i | i | i | i | i | i | i |

| j |j+1|j+2|j+3|j+4|j+5|j+6|j+7|

p2xVecDiv2 

Interact two particles from the first list with half the vector length from the second list.


| i | i | i | i |i+1|i+1|i+1|i+1|

| j |j+1|j+2|j+3| j |j+1|j+2|j+3|

pVecDiv2x2 

Interact half the vector length from the first list with two particles from the second list.


| i |i+1|i+2|i+3| i |i+1|i+2|i+3|

| j | j | j | j |j+1|j+1|j+1|j+1|

pVecx1 

Interact the full vector length from the first list with one particle from the second list.


| i |i+1|i+2|i+3|i+4|i+5|i+6|i+7|

| j | j | j | j | j | j | j | j |

Constructor & Destructor Documentation

◆ VectorizationPatternOption()

constexpr autopas::options::VectorizationPatternOption::VectorizationPatternOption ( Value  option)
inlineconstexpr

Constructor from value.

Parameters
option

Member Function Documentation

◆ getDiscouragedOptions()

static std::set< VectorizationPatternOption > autopas::options::VectorizationPatternOption::getDiscouragedOptions ( )
inlinestatic

Set of options that are very unlikely to be interesting.

Returns

◆ getOptionNames()

static std::map< VectorizationPatternOption, std::string > autopas::options::VectorizationPatternOption::getOptionNames ( )
inlinestatic

Provides a way to iterate over the possible choices of Vectorization Patterns.

Returns
map option -> string representation

◆ operator Value()

constexpr autopas::options::VectorizationPatternOption::operator Value ( ) const
inlineconstexpr

Cast to value.

Returns

The documentation for this class was generated from the following file: