Недавно я смотрел отличное видео Computerphile о паролях, в котором Майк Паунд хвастается суперкомпьютером своей компании, имеющим 4 видеокарты (точнее, Titan X).
Как энтузиаст численного моделирования, я мечтаю создать рабочий стол исключительно для симуляции. Почему Майк Паунд измеряет вычислительные возможности своего компьютера по его видеокартам, а не по процессорам? Если бы я строил компьютер, о каком предмете я должен заботиться больше?
Ответы:
Майк Паунд, очевидно, ценит вычислительные возможности графических карт выше, чем вычислительные возможности процессоров.
Почему? Графическая карта в основном состоит из МНОГИХ упрощенных процессоров, которые работают параллельно. Для некоторых работ по моделированию многие вычисления могут быть легко распараллелены и обработаны параллельно на тысячах ядер, имеющихся в графических картах, что сокращает общее время обработки.
о каком предмете я должен заботиться больше? Это действительно зависит от рабочей нагрузки, которая вас интересует, и от того, как эта рабочая нагрузка может / распараллеливаться для использования на видеокарте. Если ваша рабочая нагрузка представляет собой смущающе параллельный набор простых вычислений, и программное обеспечение написано так, чтобы использовать преимущества доступных графических карт, то большее количество графических карт окажет гораздо большее влияние на производительность, чем большее количество процессоров (доллар за доллар).
источник
Проверьте https://developer.nvidia.com/cuda-zone (и Google CUDA NVIDIA для получения дополнительной информации). Архитектура cuda и высококачественные видеокарты довольно широко используются в настольных суперкомпьютерах. Как правило, вы можете собрать коробку с несколькими Tflop менее чем за 10 000 долларов США, используя готовые компоненты whitebox.
Так...
... cuda - лучшая игра в городе для вас. Может быть, попробуйте еще раз спросить на /scicomp// или другом веб-сайте stackexchange, более тесно связанном с подобными вещами.
(Между прочим, я полагаю, что вас устраивает идея, что мы говорим о массово параллельном программировании здесь, поэтому вам, возможно, придется ознакомиться с этой парадигмой для разработки алгоритмов.)
источник
С практической точки зрения вам, вероятно, стоит уделить немного внимания материнской плате и процессору, учитывая относительную сложность обновления по сравнению с графическим процессором. После покупки наступает ужасное время, чтобы обнаружить, что у вас нет места для четырех графических процессоров или достаточно быстрого процессора, чтобы все они были заняты.
Вы также должны знать, что производительность GPU чаще всего сообщается в FLOP одинарной точности, а для двойной точности падает совсем немного. Если вам нужна дополнительная точность в ваших симуляциях, вы окажетесь намного ниже заявленной скорости.
Off к гонкам разработки программного обеспечения
С точки зрения программного обеспечения действительно существует две основные проблемы: узкое место фон Неймана и модель программирования. Процессор имеет довольно хороший доступ к основной памяти, у графического процессора большой объем встроенной памяти. Не секрет, что время перемещения данных в и из графического процессора полностью сводит на нет любую выигрыш в скорости. В общем, процессор является победителем для умеренных вычислений на больших объемах данных, в то время как графический процессор выделяется при больших вычислениях на меньших объемах. Все это подводит нас к модели программирования.
На высоком уровне проблема - древние и почтенные дебаты MIMD / SIMD. Системы с несколькими инструкциями и несколькими данными стали главными победителями в области общих и коммерческих вычислений. В этой модели, которая включает SMP, существует несколько процессоров, каждый из которых выполняет свой собственный отдельный поток команд. Это компьютерный эквивалент французской кухни, куда вы направляете небольшое количество опытных поваров для выполнения относительно сложных задач.
Системы с одной инструкцией / несколькими данными, с другой стороны, больше напоминают огромную комнату, полную клерков, прикованных к их столам в соответствии с инструкциями главного контроллера. «Все ДОБАВЛЯЮТ строки 3 и 5!» Он использовался в чистом виде в ILLIAC и некоторых «мини-супер» системах, но потерян на рынке. Нынешние графические процессоры - близкие родственники, они более гибкие, но придерживаются общей философии.
Подводя итог вкратце:
источник