pystencils.backend.platforms.GenericVectorCpu#

class pystencils.backend.platforms.GenericVectorCpu(ctx)#

Base class for CPU platforms with vectorization support through intrinsics.

Parameters:

ctx (KernelCreationContext)

abstract 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)

abstract constant_intrinsic(c)#

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

Return type:

PsExpression

Parameters:

c (PsConstant)

abstract op_intrinsic(expr, operands)#

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

Return type:

PsExpression

Parameters:
abstract 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:
abstract vector_load(acc)#

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

Return type:

PsExpression

Parameters:

acc (PsVecMemAcc)

abstract vector_store(acc, arg)#

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

Return type:

PsExpression

Parameters: