cupynumeric.mask_indices#
- cupynumeric.mask_indices( ) tuple[ndarray, ...] #
Return the indices to access (n, n) arrays, given a masking function.
Assume mask_func is a function that, for a square array a of size
(n, n)
with a possible offset argument k, when called asmask_func(a, k)
returns a new array with zeros in certain locations (functions likecupynumeric.triu()
orcupynumeric.tril()
do precisely this). Then this function returns the indices where the non-zero values would be located.- Parameters:
n (int) – The returned indices will be valid to access arrays of shape (n, n).
mask_func (callable) – A function whose call signature is similar to that of
cupynumeric.triu()
,cupynumeric.tril()
. That is,mask_func(x, k)
returns a boolean array, shaped like x. k is an optional argument to the function.k (scalar) – An optional argument which is passed through to mask_func. Functions like
cupynumeric.triu()
,cupynumeric,tril()
take a second argument that is interpreted as an offset.
- Returns:
indices – The n arrays of indices corresponding to the locations where
mask_func(np.ones((n, n)), k)
is True.- Return type:
tuple of arrays.
See also
Notes
WARNING:
mask_indices
expectsmask_function
to call cuPyNumeric functions for good performance. In case non-cuPyNumeric functions are called bymask_function
, cuPyNumeric will have to materialize all data on the host which might result in running out of system memory.- Availability:
Multiple GPUs, Multiple CPUs