Как выполнять быстрые побитовые операции над скаляром с помощью библиотеки `cupy`
Я строю модель обучения подкреплению на графическом процессоре, поэтому я использую цепочку, у которой есть мощный интерфейс. cupy
предназначен для дублирования numpy
кроме того, что он работает на GPU.
Я задавал этот вопрос ранее о том, как сделать быстрое смещение бит на скаляре в numpy
и ответ был прост: мне нужно сделать немного сдвиг на фактическом numpy.uint64
объект, а не на numpy.array
объект. Было бы хорошо, если бы я мог перенести свои методы сдвига битов на cupy
чтобы получить такие же ускорения.
Тем не мение, cupy
Документация требует, чтобы скаляры были на GPU, а не на CPU ( источнике). Это значит, что либо я...
- представлять мой скаляр в виде массива, который поднимает мою первоначальную проблему в моем связанном вопросе выше, или
- вставьте мое скалярное целое число в процессор, сделайте мои вычисления и верните его обратно в графический процессор, что тоже медленно.
Если я хочу сделать сотни тысяч битовых сдвигов на скалярном значении, хотя это займет меньше секунды numpy
это занимает слишком много времени в cupy
, Как ускорить сдвиг битов скаляров в cupy
?