Помогите с выбором

Доброго времени суток!
У меня наметился небольшой апгрейд компьютерного железа и к тому же меня заинтересовала реализация вычислений с помощью видеокарт.Сам я нахожусь на начальном этапе освоения данной тематики и мне хотелось бы получить ответ вот на какой вопрос- видеокарту какого вендера выбрать ATI или nVidia, какая из них более дружелюбна? А отсюда и что выбрать GTS 450 или 5750 от Ati ?

Forums: 

Имхо, NVidia намного

Имхо, NVIDIA намного дружелюбней в плане GPGPU.
Если не стоит задача получить максимальное отношение производительность/цена на какой-то конкретной задачи, а хочется пощупать GPGPU, то даже если карточка ATI при той же цене будет в 1.5-2 раза производительней я бы посоветовал брать NVIDIA . Имхо, они намного больше вкладывают средств в разработки, поддержку, продвижение.
И ихмо NVIDIA намного более перспективна - вот посмотрите top500, уже первое, третье и четвёртое место это кластеры с NVIDIA GPU

Спсибо за ответ

Спасибо за ответ, но еще хотелось бы услышать про информационную поддержку пользователей.
Еще один вопрос у меня возник такой: набор логики от AMD расчитан на поддержку видеокарт ATI в частности технологии cross-fire, я знаю, что если карты применются для расчетов, то подключать их в sli/crossFire вовсе не обязательно, и все таки будут ли какие нибудь припятстивя если набор логики мат.платы AMD, а использую одну/две видеокарты от nVidia только для расчетов.

Информационная поддержка,

Информационная поддержка, по-моему мнению, у NVidia намного лучше чем у ATI. И по документации, и по примерам, даже многие конференции проходят под флагом NVidia/Cuda.

По поводу SLI - насколько я понял, то оно не просто не обязательно, а ещё и "вредно" - то есть sli-мостик нужно снимать. Я думаю, что никаких проблем с платами у которых "набор логики AMD" не должно быть(но лично не проверял) - разве что AMD специально вставили какие-то "фичи".

А у вас какие-то определённые вычисления/задачи?

почти

Думаю фичи там если и есть, то несильно повредят.
Расчеты интересуют по химии.В иделе расчеты сопряженных систем методом ССП.Ну и хотелось бы БФП проводить не на центральном проце :)
да и недавно вычитал http://www.supercomputers.ru/index.php?option=com_k2&view=item&id=101:%D... бум ждать нормальной реализации.

Да, и что-то не верится в "В

Да, и что-то не верится в
"В настоящее время Ocelot позволяет оптимизировать CUDA-программы и выполнять на видеокартах от NVIDIA и любых многоядерных процессорах без потери в производительности." - прям серебряная пуля.

Есть еще swan:

Есть еще swan: http://www.multiscalelab.org/swan

Тоже, типа трансляция CUDA в OpenCL. Но они в своей статье пишут, что особых чудес при переносе на ATI 4xxx нет (немудрено), а вот в SSE (с AMD-шным OpenCL) вроде как эффективно транслируется.

Вот статья: http://www.cse.scitech.ac.uk/disco/mew20/presentations/GPU_MattHarvey.pdf

Но в чудеса я тоже не верю. Все-таки, железо слишком разное, где скаляр, где 4-vector, где 16-vector, автоматом это трудно офигачить.

да, между устройствами оно

да, между устройствами оно ещё не очень хорошо переносится в плане производительности.
А там написали "и любых многоядерных процессорах без потери в производительности", то есть Cuda->CPU (да хоть просто OpenCL)?? Ну взять хотя бы shared память - самый близкий аналог на CPU это кэш, и причём не один, и техники оптимизации под него мягко говоря нужны другие.
Ну или например сравнить вес потоков - что если при запуски группы из 512 потоков в ядре будет где-то синхронизация и причём не одна, кто будет всеми жонглировать? Сколько времени займёт эта суета?
И я считаю что GPU ни в коем случае не надо подстраиваться под архитектуру cpu, надо развиваться, причём руки не должны быть связанны backward compatibility (в приделах разумного - раз в два года изучить/поменять архитектуру не должно быть проблемой, тем более что непосредственно расчётный код это обычно очень небольшая часть всего приложения)

Конкретно про CPU цитируемые

Конкретно про CPU цитируемые господа получили очень хороший результат, сравнимый с результатами ручной оптимизации под SSE (ну если быть точным, то вдвое хуже "лучшей известной реализации", но у "лучшей реализации" - другой алгоритм в котором вдвое меньше флопсов). Потратив на перенос с CUDA на swan - неделю работы на перенос сотни kernels ('many opencl bugs", как они пишут).

Это - вполне достойный результат.

Тут еще вот какая штука, и про CUDA и про OpenCL: алгоритмы программистом сходу пишутся иначе, что позволяет, по меньшей мере в теории, легкую векторизацию, особенно если доступ coalesced/без конфликтов т.е. выровненый и все такое. В отличие от обычного C/Fortran с обычными (не векторными) типами. Пусть не везде, но хотя бы там, где переменные цикла вычислимы на этапе компиляции.
Т.е. много работы можно отдать компилятору.

Если при этом будет

Если при этом будет получаться достаточно эффективный код - отчего нет.

Ну так по-идеи при

Ну так по-идеи при декларативном описании у компилятора руки намного более развязаны, не надо догадываться что именно "автор хотел сказать ", а что всего лишь детали конкретной реализации.
Другой вопрос какой код считать эффективным, например при некоторых размерах входных данных код неплох, при других же лучше использовать другие методики.. или может генерировать на лету под каждую конфигурацию входных данных, либо использовать несколько заготовок.
Сама идея декларативного программирования мне нравится, но имхо серебряный блеск тоже присутствует.

http://damp2011.cs.uchicago.edu/

мультиплатформенность

Мой основной вопрос я привел в сабже, по прошествию времени он не изменился, мельтиплатформенность меня не интересует.Про gpuocelot просто попалась статья, вот и захотел выслушать здешнее мнение.

Ага

Ага, на свой вопрос я получил ответ.Всем спасибо, кто принял участие.

У обоих вендоров есть форумы

У обоих вендоров есть форумы техподдержки, на которых пасутся инженеры вендора. У NVidia - гораздо активнее.

Что касается прочего (книжки, презентации с семинаров и конференций) - у NVidia этого гораздо больше, потому что они раньше начали и линейка оборудования у них сложнее, несколько поколений карт (у AMD, по сути HD5xxx и мало отличающаяся по сути HD6xxxx и все).

Кроме того, у AMD ставка сделана на OpenCL, а там "все понятно", есть стандарт, бери и программируй.