Pointers to memoryviews aren't really supported, and I suppose taking
their size isn't either. Given their non-stable ABI, memoryview slices
only work in Cython and Python space. What it allowed however, is to
take a pointer to the data and the shape/strides, and use that, as
long as you have a reference to the memoryview slice. Deleting
memoryview slices or setting them to None is also only supported for
memoryview variables and attributes, not for pointers or arrays.
I suppose pointers should be disabled until and if they are officially
supported and can be used in a sane way.
As for your problem, can't you pass around your i index (if you're
using subroutines) and index large_view[i, j] everywhere? Otherwise,
as mentioned, you can take the extent and stride in the last dimension
and a pointer to large_view[i, 0].
Assigning to memoryviews in parallel sections was disabled as the code
should typically behave as sequential code, meaning that when you
assign to a variable in the loop, you want the last sequential
assignment after the loop. For memoryviews it's slightly tricky to
manage the reference counts and to manage the reference count for the
sequential last iteration (which can be in any thread).