Я запускал код молекулярной динамики (MD) GROMACS на кластере Ubuntu Linux, состоящем из узлов, содержащих 24 процессора Intel Xeon. Моя конкретная достопримечательность оказывается несколько чувствительной к арифметической точности с плавающей запятой, поэтому мне пришлось запускать GROMACS с двойной точностью, а не с одинарной точностью - несмотря на более высокую вычислительную стоимость двойной точности. Итак, на кластере я скомпилировал GROMACS с двойной точностью.
Я подумываю о покупке некоторых графических процессоров, так как может быть ускорение по отношению к процессорам. Однако мне нужен графический процессор, который позволит мне выполнять арифметику с двойной точностью. Знаете ли вы, если такое оборудование доступно в продаже? Последний пост в списке рассылки GROMACS предполагает , что графические процессоры с двойной точностью не коммерчески доступны:
Аппаратное обеспечение не поддерживает [арифметику двойной точности], но AFAIK.
Эта страница Википедии, кажется, предполагает, что графические процессоры двойной точности встречаются редко, поскольку они могут быть неэффективными:
Реализации с плавающей точкой на графических процессорах Nvidia в основном соответствуют IEEE; Однако это не относится ко всем поставщикам. Это имеет значение для правильности, которые считаются важными для некоторых научных приложений. Хотя 64-битные значения с плавающей запятой (с плавающей запятой двойной точности) обычно доступны на процессорах, они не всегда поддерживаются на графических процессорах; некоторые архитектуры GPU жертвуют соответствием IEEE, в то время как другим вообще не хватает двойной точности. Были попытки эмулировать значения с плавающей запятой двойной точности на графических процессорах; тем не менее, компромисс между скоростью сводит на нет любые преимущества, прежде всего, для выгрузки вычислений на графический процессор.
Эта страница NVIDIA Tesla со ссылкой на «Пиковую производительность с плавающей запятой двойной точности» на диаграмме, похоже, предполагает, что вычисления с двойной точностью могут фактически выполняться на их графических процессорах (хотя и с более высокими вычислительными затратами).
Итак, во что мне верить? У вас есть опыт решения этой проблемы?
Ответы:
Двойная точность довольно распространена на новых графических процессорах. Например, у меня есть NVIDIA GTX560 Ti (довольно низкий уровень, когда дело доходит до вычислений), у которого нет проблем с запуском ViennaCL с двойной точностью. Из здесь (раздел 4) оказывается все карты NVIDIA с GTX4xx вперед поддерживают двойную точность изначально.
Я предполагаю, что информация GROMACS просто устарела.
источник
Каждый графический процессор с SM 1.3 (Tesla / GTX2xx) или выше имеет аппаратную поддержку двойной точности. Начиная с архитектуры Fermi, варианты Quadro и Tesla имеют лучшую поддержку двойной точности, чем потребительские модели Ge Force.
Что странно, так это то, что поддержка двойной точности Ge Force Kepler / GTX6xx уступает поддержке GeForce Fermi / GTX5xx в улучшении дифференциации Tesla в Kepler K20 / K20x. Усиливая странность, Tesla K10s имеют поддержку двойной точности уровня Ge Force. И совсем недавно это привело в полное замешательство введение Ge Force GTX Titan, который имеет полную поддержку двойной точности и многие функции CUDA, которые присутствовали только в моделях Tesla до сих пор. Титан GTX стоит ~ 1000 долларов - кричащая сделка IMO.
источник
Вам также следует прочитать последующее сообщение из списка рассылки GROMACS: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html . Поддерживает ли реализация графического процессора в MD использование двойной точности в сопоставимой степени, по крайней мере, так же важно, как и то, доступна ли двойная точность на оборудовании.
источник
Согласно этому обсуждению , графические процессоры Tesla и Titan являются наиболее подходящими (из графических процессоров Nvidia) для двойной точности.
Посмотрев, например, список графических процессоров Nvidia в Википедии (аналогичная таблица для графических процессоров AMD здесь ) и сравнив вычислительную мощность одинарной и двойной точности (с точки зрения GFLOP), можно увидеть, что производительность двойной точности намного меньше, чем половина одинарной точности. производительность для большинства других графических процессоров. Например, для серии GTX 900 в статье упоминается, что производительность с двойной точностью составляет 1/32 от производительности с одинарной точностью, а в статье из Википедии говорится, что для серии GTX 700 производительность с двойной точностью составляет 1/24 от точности с одинарной точностью. производительность (за исключением Titan, где он может достигать 1/3 от производительности с одинарной точностью).
источник