I think I found a small quirk when doing data copies involving rectangular subareas.
Documentation of enqueue_copy states that the arguments buffer_pitches/host_pitches and
src_/dst_pitches are optional, however an error is raised if they are omitted:
TypeError: _enqueue_read_buffer_rect(): incompatible function arguments.
It seems pybind11 checks if the arguments are a sequence, but this fails with None as
default value, as defined here:
I checked that replacing the default arguments by an empty tuple, replacing py::none() by
py::tuple() resolves this issue.
Also just filed an issue, https://github.com/inducer/pyopencl/issues/253