Разве функции АЭС не полностью оптимизированы?

Я разработал простую функцию для зеркального отображения изображения по горизонтали или вертикали, используя CUDA C++.

Затем я узнал, что библиотека NVIDIA Performance Primitives также предлагает функцию зеркалирования изображений.

Просто для сравнения, я рассчитал свою функцию против АЭС. Удивительно, но моя функция превзошла все ожидания (хотя и с небольшим отрывом, но все же...).

Я подтвердил результаты несколько раз с помощью таймера Windows, а также таймера CUDA.

У меня такой вопрос: не полностью ли оптимизированы функции АЭС для графических процессоров NVIDIA?

Я использую CUDA 5.0, GeForce GTX460M (Compute 2.1) и Windows 8 для разработки.

1 ответ

Решение

Я рискую не получить голосов, разместив этот ответ.:)

NVIDIA постоянно работает над улучшением всех наших библиотек CUDA. NPP - это особенно большая библиотека с 4000+ функциями для обслуживания. У нас есть реальная цель - обеспечить библиотекам полезное ускорение по сравнению с процессором, которое тестируется на всех наших графических процессорах и поддерживаемых ОС и активно улучшается и поддерживается. Рассматриваемая функция (зеркало) - это известная проблема производительности, которую мы исправим в следующем выпуске. Если вам требуется оптимизировать конкретную функцию, лучший способ установить ее приоритетность - это отправить сообщение об ошибке RFE (Запрос на улучшение) с помощью формы отправки сообщения об ошибке, которая доступна зарегистрированным разработчикам NVIDIA CUDA.

Кроме того, я не думаю, что какая-либо библиотека может быть "полностью оптимизирована". С большой библиотекой для поддержки на большой и растущей аппаратной базе работа по ее оптимизации никогда не завершается!:)

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

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