We have `shuffle_iterator` in both Thrust and libcudacxx and it is pretty powerful. I'd like to use them in Python.