GTX 295 против других видеокарт nvidia для разработки cuda - PullRequest
3 голосов
/ 22 сентября 2010

какая видеокарта nvidia лучшая для разработки cuda. один GTX 295 имеет 2 GPU, возможно ли иметь 2 GTX 295 и использовать 4 GPU в моем коде cuda?
лучше получить две карты 480 вместо двух 295? Ферми будет лучше, чем обе карты?

Ответы [ 3 ]

4 голосов
/ 22 сентября 2010

Какая видеокарта nvidia лучшая для разработки cuda.

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

один GTX 295 имеет 2 GPU, возможно ли иметь 2 GTX 295 и использовать 4 GPUв моем коде cuda?

Конечно, это так.Единственным недостатком является то, что 2 графических процессора на GTX 295 используют один PCI.Это важно для вас или нет, зависит от того, нуждается ли приложение в интенсивной связи с хостом или нет.

лучше получить две карты 480, а не две 295?будет ли Fermi лучше, чем обе карты?

С точки зрения максимальной пиковой производительности GTX 295 (что почти в 2 раза превышает GTX 280, без учета общего PCI) лучше, чем 480.Однако архитектура серии GF10x улучшилась во многих отношениях по сравнению с GT200, подробности см. В «Техническом описании Fermi» и «Руководстве по настройке Fermi» .

Если выПланируя использовать двойную точность, в серии GF10x значительно улучшена поддержка двойной точности, но приятно знать, что это ограничено на картах GeForce до 1/8 от производительности с одинарной точностью (обычно около половины)

Поэтому я бы предложил, если у вас нет веских оснований, чтобы получить много GFlops (Folding @ Home?) В виде скоро устаревшего оборудования, получить GTX 480 или 470, если вы хотите сэкономить ~ 25%.

1 голос
/ 23 сентября 2010

Прямой ответ: Я бы выбрал один или два GTX 480.Но я думаю, что мои рассуждения немного отличаются от @bobince или @ pszilard.

Backgroud: Я только что принял то же решение, с которым вы сталкиваетесь, но наши ситуации могут быть совершенно другими.

Я аспирант по статистике в отделе с минимальным финансированием вычислительных ресурсов GPU, в кампусе есть один блок fermi, подключенный к двум узлам, к которым у меня есть доступ.Но они были в linux, что мне очень нравится, но я действительно хочу использовать nSight для тестирования и настройки своего кода, поэтому мне нужны окна, поэтому я решил приобрести коробку для разработки с двойной загрузкой, Ubuntu x64 для рабочих запускови Win 7 с VS 2010 ( битва, в которой я сейчас сражаюсь ) и nSight 1.5 для разработки.Тем не менее, вернемся к причине, почему я купил два GTX 480 (EVGA - это круто !!), а не два GTX 285 или 295.

Последние два года я потратил на разработку пары ядер CUDA.Самой сложной частью разработки для меня является управление памятью.Большую часть трех месяцев я потратил на то, чтобы втиснуть декомпозицию Cholesky и обратную подстановку в 16 регистров одинарной точности - максимум, который вы можете использовать до того, как GTX 285 или 295 понесет 50% -ное снижение производительности (буквально 3 недели с 17до 16 регистров).Для меня тот факт, что все архитектуры Fermi имеют двойные регистры, означает, что эти три месяца принесли бы мне около 10% улучшения на GTX 480 вместо 50% на GTX 285 и, следовательно, вероятно, не стоили моего времени - на самом деленемного более тонким, чем это, но вы получаете дрейф.

Если вы довольно плохо знакомы с CUDA - что вы, вероятно, так как вы спрашиваете - я бы сказал, 32 регистра это ОГРОМНО.Во-вторых, я думаю, что кэш L1 архитектуры Fermi может напрямую преобразовать в более быстрый глобальный доступ к памяти - конечно, это так, но я пока не измерял влияние напрямую.Если вам не нужна большая глобальная память, вы можете обменять больший кэш L1 на тройную разделяемую память, что также стало для меня проблемой, так как размеры матрицы увеличились.

Тогда я бы согласилсяс @pszilard, что если вам нужна двойная точность, Fermi - определенно верный путь - хотя я все равно сначала напишу ваш код с одинарной точностью, настрою его, а затем перейду на удвоение.

Не знаюНе думаю, что параллельное выполнение ядра будет иметь для вас значение - это действительно здорово, задержки на завершение ядра могут быть на несколько порядков меньше - но вы, вероятно, сначала сосредоточитесь на одном ядре, а не на параллельных ядрах.Если вы хотите использовать потоковое или параллельное ядро, то вам нужен Fermi - 285/295 просто не могут этого сделать.

И, наконец, недостатком перехода на 295 является то, что вам нужно написать двауровни параллелизма: (1) один для распределения блоков (или ядер?) по картам и (2) само ядро ​​gpu. Если вы только начинаете, гораздо проще сохранить параллелизм в одном месте (на одной карте), чем сражаться сразу в двух сражениях.

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

PPs.Мне очень понравилось работать с ядром cuda на GTX 480, которое я отлаживал / проектировал на Tesla C1070, и мгновенно достигать 2-кратного улучшения скорости.Деньги потрачены не зря.

0 голосов
/ 22 сентября 2010

возможно ли иметь 2 GTX 295 и использовать 4 графических процессора в моем коде cuda?

Да. Или четверной, если вы совершенно безумны.

лучше получить две карты 480, чем две 295?

спорно. 295, как у двухпроцессорного графического процессора, немного более сырой, но 480 как у 40-нм процессорной карты без издержек, связанных с двойным графическим процессором, может лучше использовать свои ресурсы. Тесты могут отличаться. Конечно, серия Fermi 4xx имеет более современную поддержку функций (3D, DirectX, OpenCL и т. Д.).

Но у dual-295 будут серьезные требования к блоку питания и охлаждению. И Dual-480 работает почти так же жарко. Не говоря уже о расходах. Над чем вы работаете, что, по вашему мнению, вам понадобится? Рассматривали ли вы более массовые детали, например, 460, которые, как обычно полагают, предлагают лучшую цену / производительность, чем проблемные детали 470–480 (GF100)?

...