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:
ctx (KernelCreationContext)
vector_arch (X86VectorArch)
- 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:
- Parameters:
vector_type (PsVectorType)
- constant_intrinsic(c)#
Return an expression that initializes a constant vector, or raise a
MaterializationError
if not supported.- Return type:
- Parameters:
c (PsConstant)
- op_intrinsic(expr, operands)#
Return an expression intrinsically invoking the given operation or raise a
MaterializationError
if not supported.- Return type:
- Parameters:
expr (PsExpression)
operands (Sequence[PsExpression])
- math_func_intrinsic(expr, operands)#
Return an expression intrinsically invoking the given mathematical function or raise a
MaterializationError
if not supported.- Return type:
- Parameters:
expr (PsCall)
operands (Sequence[PsExpression])
- vector_load(acc)#
Return an expression intrinsically performing a vector load, or raise a
MaterializationError
if not supported.- Return type:
- Parameters:
acc (PsVecMemAcc)
- vector_store(acc, arg)#
Return an expression intrinsically performing a vector store, or raise a
MaterializationError
if not supported.- Return type:
- Parameters:
acc (PsVecMemAcc)
arg (PsExpression)