Как выполнять быстрые побитовые операции над скаляром с помощью библиотеки `cupy`

Я строю модель обучения подкреплению на графическом процессоре, поэтому я использую цепочку, у которой есть мощный интерфейс. cupy предназначен для дублирования numpy кроме того, что он работает на GPU.

Я задавал этот вопрос ранее о том, как сделать быстрое смещение бит на скаляре в numpy и ответ был прост: мне нужно сделать немного сдвиг на фактическом numpy.uint64 объект, а не на numpy.array объект. Было бы хорошо, если бы я мог перенести свои методы сдвига битов на cupy чтобы получить такие же ускорения.

Тем не мение, cupy Документация требует, чтобы скаляры были на GPU, а не на CPU ( источнике). Это значит, что либо я...

  1. представлять мой скаляр в виде массива, который поднимает мою первоначальную проблему в моем связанном вопросе выше, или
  2. вставьте мое скалярное целое число в процессор, сделайте мои вычисления и верните его обратно в графический процессор, что тоже медленно.

Если я хочу сделать сотни тысяч битовых сдвигов на скалярном значении, хотя это займет меньше секунды numpy это занимает слишком много времени в cupy, Как ускорить сдвиг битов скаляров в cupy ?

0 ответов

Другие вопросы по тегам