2012-05-22 2 views
3

Я разрабатываю алгоритмы в CUDA на своем рабочем столе, которые затем должны запускаться на сервере.Разработка для CUDA на «дешевых» графических процессорах

Можно ли использовать недавнюю карточку низкого уровня (например, вычислительную способность 2.1), чтобы получить все хорошие функции отладки и профилирования, а затем поместить код на сервер с помощью high end card (с тем же самым cc)? Мне просто нужно будет отрегулировать размеры ниток/сетки или изменить все ™.

Пример: Я бы разработал на Quadro 600, и сервер будет использовать Tesla C2075.

ответ

1

Есть некоторые проблемы, такие как память с разной полосой пропускания (25,6 ГБ/с на Quadro и 148 гигабайт/с на Тесла, согласно вашим ссылкам) или разное количество SM (драйвер может распределять блоки по SMs по-разному) , Однако в большинстве случаев такие малые различия имеют второстепенное значение.

1

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

В случае, если на сервере имеется только одна карта; общее правило состоит в том, что вам не требуется, чтобы изменить любую строку кода, чтобы использовать мощность более мощного GPU, поскольку драйвер автоматически распределяет нагрузку между SM.