Стоит ли ожидать различий в производительности приложения cuda между поколениями? - PullRequest
0 голосов
/ 08 июня 2011

У меня есть код, скомпилированный и протестированный на чипсетах поколения Tesla и Fermi.

На всех чипах поколения Tesla (260 280, c1060) выходной сигнал одинаков.

На всех чипах поколения Fermi (460-580, c2080) выходной сигнал одинаков.

Однако между поколениями Тесла и Ферми выходные изображения немного различаются.

Этого и следовало ожидать? В коде есть математика с плавающей запятой, и точность - мое первое подозрение, но я не могу найти упоминаний об этом в документах Nvidia.

Ответы [ 2 ]

3 голосов
/ 09 июня 2011

Вам также следует ознакомиться с моим техническим документом и вебинаром по плавающей запятой для графических процессоров NVIDIA (я работаю в NVIDIA).

http://developer.nvidia.com/content/everything-you-ever-wanted-know-about-floating-point-were-afraid-ask

Чтобы ответить на этот вопрос, действительно естьчисловые различия между поколениями оборудования.«Возможность вычислений» говорит вам о том, что есть у чипа.Устройства с вычислительной способностью 1.0-1.2 имеют одинаковую точность.Одинарная точность на этих устройствах равна нулю, то есть не поддерживает ненормальные числа.Некоторые операции, такие как деление и квадратный корень, не округляются правильно (они используют быстрое аппаратное приближение к функциям).

Устройства с вычислительными возможностями 1.3 добавлена ​​поддержка двойной точности.Двойная точность правильно округлена и поддерживает денормалы.Двойная точность также имеет плавное умножение-сложение, которое повышает точность.

Устройства с вычислительной способностью 2.0 и более поздние версии с плавающей запятой одинарной точности.Теперь одинарная точность правильно округлена и поддерживает денормалы.Они также имеют плавное умножение-сложение одинарной и двойной точности.

1 голос
/ 08 июня 2011

В Руководстве по настройке Fermi есть раздел о соответствии IEEE 754-2008, в котором говорится:

Устройства вычислительной способности 2.x имеют гораздо меньше отклонений от стандарта IEEE 754-2008 с плавающей запятойчем устройства с вычислительной способностью 1.x, особенно с одинарной точностью (раздел F.2).Это может привести к небольшим изменениям в числовых результатах между устройствами с вычислительными возможностями 1.x и устройствами с вычислительными возможностями 2.x.

Полный документ доступен в разделе загрузок веб-сайта CUDA.

...