pystencils.backend.platforms.X86VectorCpu#

class pystencils.backend.platforms.X86VectorCpu(ctx, vector_arch)#

Platform modelling the X86 SSE/AVX/AVX512 vector architectures.

All intrinsics information is extracted from https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html.

Parameters:
property required_headers: set[str]#

Set of header files that must be included at the point of definition of a kernel running on this platform.

type_intrinsic(vector_type)#

Return the intrinsic vector type for the given generic vector type, or raise a MaterializationError if type is not supported.

Return type:

PsCustomType

Parameters:

vector_type (PsVectorType)

constant_intrinsic(c)#

Return an expression that initializes a constant vector, or raise a MaterializationError if not supported.

Return type:

PsExpression

Parameters:

c (PsConstant)

op_intrinsic(expr, operands)#

Return an expression intrinsically invoking the given operation or raise a MaterializationError if not supported.

Return type:

PsExpression

Parameters:
math_func_intrinsic(expr, operands)#

Return an expression intrinsically invoking the given mathematical function or raise a MaterializationError if not supported.

Return type:

PsExpression

Parameters:
vector_load(acc)#

Return an expression intrinsically performing a vector load, or raise a MaterializationError if not supported.

Return type:

PsExpression

Parameters:

acc (PsVecMemAcc)

vector_store(acc, arg)#

Return an expression intrinsically performing a vector store, or raise a MaterializationError if not supported.

Return type:

PsExpression

Parameters: