Other functionalityΒΆ

Metadata (β€œtags”) for Arrays and Array AxesΒΆ

class arraycontext.metadata.NameHint(name: str)[source]ΒΆ

A tag acting on arrays or array axes. Express that name is a useful starting point in forming an identifier for the tagged object.

nameΒΆ

A string. Must be a valid Python identifier. Not necessarily unique.

ArrayContext-generating fixture for pytestΒΆ

class arraycontext.PytestArrayContextFactory[source]ΒΆ
class arraycontext.PytestPyOpenCLArrayContextFactory(device)[source]ΒΆ
__init__(device)[source]ΒΆ
Parameters:

device – a pyopencl.Device.

__call__() ArrayContext[source]ΒΆ

Call self as a function.

arraycontext.pytest_generate_tests_for_array_contexts(factories: Sequence[str | type[PytestArrayContextFactory]], *, factory_arg_name: str = 'actx_factory') Callable[[Any], None][source]ΒΆ

Parametrize tests for pytest to use an ArrayContext.

Using this function in pytest test scripts allows you to use the argument factory_arg_name, which is a callable that returns a ArrayContext. All test functions will automatically be run once for each implemented array context. To select specific array context implementations explicitly define, for example,

pytest_generate_tests = pytest_generate_tests_for_array_context([
    "pyopencl",
    ])

to use the pyopencl-based array context.

The environment variable ARRAYCONTEXT_TEST can also be used to overwrite any chosen implementations through factories. This is a comma-separated list of known array contexts.

Current supported implementations include:

Parameters:

factories – a list of identifiers or PytestPyOpenCLArrayContextFactory classes (not instances) for which to generate test fixtures.

Program creation for loopyΒΆ

arraycontext.make_loopy_program(domains: str | Sequence[str | isl.BasicSet], statements: str | Sequence[InstructionBase | SubstitutionRule | str], kernel_data: Sequence[ValueArg | ArrayArg | TemporaryVariable | EllipsisType | str] | None = None, name: str = 'mm_actx_kernel', tags: ToTagSetConvertible = None)[source]ΒΆ

Return a loopy.LoopKernel suitable for use with ArrayContext.call_loopy().

ReferencesΒΆ

class arraycontext.InstructionBaseΒΆ

See loopy.InstructionBase.

class arraycontext.SubstitutionRuleΒΆ

See loopy.SubstitutionRule.

class arraycontext.ValueArgΒΆ

See loopy.ValueArg.

class arraycontext.ArrayArgΒΆ

See loopy.ArrayArg.

class arraycontext.TemporaryVariableΒΆ

See loopy.TemporaryVariable.

class arraycontext.EllipsisTypeΒΆ

See types.EllipsisType.

ReferencesΒΆ

class cl_array.AllocatorΒΆ

See pyopencl.array.Allocator.

class np.ndarrayΒΆ

See numpy.ndarray.

class dummy_refs.ToTagSetConvertibleΒΆ

See pytools.tag.

class dummy_refs.ArrayOrNamesΒΆ

A type alias in pytato allowing pytato.Array and pytato.AbstractResultWithNamedArrays.

class dummy_refs.IntegerΒΆ

A type alias allowing integers.

class dummy_refs.ScalarLikeΒΆ

See arraycontext.ScalarLike.

class dummy_refs.ArrayOrContainerOrScalarΒΆ

See arraycontext.ArrayOrContainerOrScalar.