Other functionality¶
Types and Type Variables for Arrays and Containers¶
- class arraycontext.Array(*args, **kwargs)[source]¶
A
Protocolfor the array type supported byArrayContext.This is meant to aid in typing annotations. For a explicit list of supported types see
ArrayContext.array_types.- shape¶
- size¶
- dtype¶
In addition, arrays are expected to support basic arithmetic.
See also ArrayContainer and ArrayOrContainerT.
- arraycontext.ArrayOrScalar¶
alias of
Array|int|integer|float|complex|inexact|bool|bool
- class arraycontext.ArrayOrScalarT¶
alias of TypeVar(‘ArrayOrScalarT’, bound=
Array|int|integer|float|complex|inexact|bool|bool)
- arraycontext.ArrayOrContainer¶
alias of
Array|ObjectArray[tuple[int, …],ArrayOrContainerOrScalar] |_UserDefinedArrayContainer
- class arraycontext.ArrayOrContainerT¶
alias of TypeVar(‘ArrayOrContainerT’, bound=
Array|ObjectArray[tuple[int, …],ArrayOrContainerOrScalar] |_UserDefinedArrayContainer)
- arraycontext.ArrayOrArithContainer¶
alias of
Array|ObjectArray[tuple[int, …],ArrayOrArithContainerOrScalar] |_UserDefinedArithArrayContainer
- class arraycontext.ArrayOrArithContainerT¶
alias of TypeVar(‘ArrayOrArithContainerT’, bound=
Array|ObjectArray[tuple[int, …],ArrayOrArithContainerOrScalar] |_UserDefinedArithArrayContainer)
- class arraycontext.ContainerOrScalarT¶
alias of TypeVar(‘ContainerOrScalarT’, bound=
ArrayContainer | ScalarLike)
- arraycontext.ArrayOrArithContainerOrScalar¶
alias of
Array|ObjectArray[tuple[int, …],ArrayOrArithContainerOrScalar] |_UserDefinedArithArrayContainer|int|integer|float|complex|inexact|bool|bool
- class arraycontext.ArrayOrArithContainerOrScalarT¶
alias of TypeVar(‘ArrayOrArithContainerOrScalarT’, bound=
Array|ObjectArray[tuple[int, …],ArrayOrArithContainerOrScalar] |_UserDefinedArithArrayContainer|int|integer|float|complex|inexact|bool|bool)
Other locations¶
- class arraycontext.typing.ArrayContainerT¶
- Canonical:
Metadata (“tags”) for Arrays and Array Axes¶
ArrayContext-generating fixture for pytest¶
- class arraycontext.PytestPyOpenCLArrayContextFactory(device: Device)[source]¶
- __init__(device: Device) None[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
pytesttest scripts allows you to use the argument factory_arg_name, which is a callable that returns aArrayContext. 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_TESTcan also be used to overwrite any chosen implementations through factories. This is a comma-separated list of known array contexts.Current supported implementations include:
"pyopencl", which creates aPyOpenCLArrayContext."pytato-pyopencl", which creates aPytatoPyOpenCLArrayContext.
- Parameters:
factories – a list of identifiers or
PytestPyOpenCLArrayContextFactoryclasses (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.LoopKernelsuitable for use withArrayContext.call_loopy().
References¶
- class arraycontext.InstructionBase¶
- class arraycontext.SubstitutionRule¶
- class arraycontext.ValueArg¶
See
loopy.ValueArg.
- class arraycontext.ArrayArg¶
See
loopy.ArrayArg.
- class arraycontext.TemporaryVariable¶
- class arraycontext.EllipsisType¶
See
types.EllipsisType.
References¶
- class cl_array.Allocator¶
- class np.ndarray¶
See
numpy.ndarray.
- class dummy_refs.ToTagSetConvertible¶
See
pytools.tag.
- class dummy_refs.ArrayOrNames¶
A type alias in
pytatoallowingpytato.Arrayandpytato.AbstractResultWithNamedArrays.
- class dummy_refs.Integer¶
A type alias allowing integers.
- class dummy_refs.ScalarLike¶
- class dummy_refs.ArrayOrContainerOrScalar¶