Комментировать

Наконец-то

Наконец-то решился и заказал GTX285(XFX GX-285X-ZWBA, немного оверколченная).
Далее перечислю пункты почему, собственно, я остановился на GTX285.
- Скорость выбранного метода решения(метод сопряжённых градиентов) сильно зависит от пропускной способности памяти: самая ресурсоёмкая операция на одной итерации - умножение матрицы на вектор. Кэшировать в локальной памяти из глобальной почти нечего(матрица разряженная, кэшировать вектор на который умножается матрица особо не получится. попробую использовать текстурную память). Coalescing достигается не трудно.
Можно сравнить ПСП видеокарт(референсных):
GTX480 - 177.4 GB/s
GTX285 - 159.0 GB/s
HD5870 - 153.6 GB/s
Если критерием является ПСП, то наиболее привлекательной по цене является GTX285.
Также можно сравнить с ПСП современных CPU: Core I7 930 - 25.6 GB/s ...
Есть задумка по поводу несколько другого подхода, в котором ПСП будет играть меньшую роль, но до сдачи диплома наверное не успею.
- Махинации NVidia с ECC и занижением скорости Double вычислений (GTX480), хоть это не так важно для моего проекта, всё же хотелось бы иметь более мощную платформу для будущих проектов.
- GTX480 по множеству обзоров является очень шумной, энергозатратной и соответственно горячей. Хотя этот пункт не является решающим для меня.
- GTX480 неясно когда поступит в продажу + время доставки в мой город, может быть уже очень поздно.
- GTX480 будет иметь очень завышенную цену, за эти деньги можно купить почти две GTX285 и получить большую суммарную ПСП(задача не требуют пересылок между видеокартами/вычислительными модулями, прекрасно масштабируется хоть на кластер.. кстате у меня в планах добавить в код что-то типа MPI, чтобы создать кластер из CPU/GPU)
-по поводу ATI, ИМХО NVidia имеет на данный момент лучшую поддержку OpenCL/Cuda (разные инструменты, документация, даже много материала на русском(хотя предпочитаю читать первоисточник)). (я пробовал запустить ядро, в котором матрица и вектор хранятся с разной точностью на HD4850 - одно из ядер вообще не захотело собираться, другое даёт неправильный результат. Хотя на CPU(OpenCL от ATI) и на Tesla C1060 всё запустилось и правильно посчиталось, может это из-за того что серия 4xxx плохо поддерживает OpenCL, если интересно могу запостить код в отдельную тему)
- этот пункт конечно не по данной теме, но имеет некоторый вес - после долгого застоя стерео очки опять начали появляется и у NVidia есть уже готовые решения(жалко что шлемы очень медленно развиваются). Эта тема мне интересна и также полезна для моей работы, я даже как-то делал трекер движений на инфракрасных светодиодах.