Целочисленные вычисления на GPU

Для моей работы особенно интересно выполнять целочисленные вычисления, которые явно не предназначены для графических процессоров. У меня вопрос: поддерживают ли современные графические процессоры эффективные целочисленные операции? Я понимаю, что это должно быть легко понять самому, но я нахожу противоречивые ответы (например, да vs нет), поэтому я подумал, что лучше спросить.

Кроме того, существуют ли какие-либо библиотеки / методы для целых чисел произвольной точности на графических процессорах?


person gspr    schedule 06.12.2010    source источник


Ответы (1)


Во-первых, вам необходимо учитывать оборудование, которое вы используете: производительность устройств с графическим процессором сильно отличается от конструктора к другому.
Во-вторых, это также зависит от рассматриваемых операций: например, добавление может быть быстрее, чем умножение.

В моем случае я использую только устройства NVIDIA. Для этого типа оборудования: официальная документация объявляет об эквивалентной производительности как для 32-битных целых чисел, так и для 32-битных чисел с плавающей запятой одинарной точности с новой архитектурой (Fermi). Предыдущая архитектура (Tesla) предлагала эквивалентную производительность для 32-битных целых чисел и чисел с плавающей запятой, но только с учетом добавления и логических операций.

Но опять же, это может быть неверно в зависимости от устройства и инструкций, которые вы используете.

person jopasserat    schedule 06.12.2010
comment
Я думаю, что нужно отметить одну вещь: да, почти для всех архитектур все ядра CUDA на графическом процессоре могут использоваться для целочисленных операций, но для целых чисел нет объединенного умножения, так что пиковое количество операций с целыми числами в секунду составляет только половину пика. FLOPs. - person mxmlnkn; 06.02.2016