Обзор вычислительных программ для молекулярного моделирования
Содержание:
1.Gromacs (Вы читаете данный раздел);
2. NAMD;
3. NWChem;
4. GAMESS и Firefly: антипример.
Все программы для молекулярного моделирования делятся, грубо говоря, на две категории: вычислительные пакеты и ПО для визуализации и анализа. Первые - это команднострочные программы, которые решают классические уравнения движения атомов в системе (молекулярная динамика) либо рассчитывают электронную структуру молекул на квантовом уровне (квантовая химия). Эти программы обычно устанавливаются на специализированных вычислительных кластерах и выполняются параллельно на нескольких процессорах (от нескольких штук до тысяч в зависимости от задачи). Реальное время расчетов варьируется от нескольких суток до нескольких месяцев, а суммарное процессорное время может легко достигать сотен тысяч часов.
Программы визуализации - это приложения для десктопа, которые отображают трехмерные структуры молекул в разнообразных представлениях, позволяют анализировать их, рассчитывать различные параметры, а также создавать изображения и видеоролики высокого качества для презентаций и статей. В этой части статьи я опишу некоторые популярные вычислительные пакеты.
Следует так же сказать, что для воспроизведения презентаций Вам потребуется скачать kmplayer бесплатно (http://my-kmplayer.ru/download-kmplayer), GOM Player или любой другой проигрыватель видеофайлов.
Пакет молекулярной динамики Gromacs (GROningen MAchine for Chemical Simulations, http://www. gromacs.org) был создан в Университете Гронингена (Нидерланды) в 90-х годах. Изначально программа создавалась совместно с одноименным параллельным компьютером, обладающим быстрым межпроцессорным взаимодействием, организованным в виде кольца. Со временем это «железо» безнадежно устарело, а вот программа - наоборот, завоевала широкую популярность. Gromacs по сути являлся «вариацией на тему» еще более старой программы GROMOS, созданной в 80-х годах. К началу 2000-х все ключевые разработчики Gromacs перебрались в Швецию и получили неплохое финансирование, так что пакет развивается стабильно и динамично. Разработчики активно исследуют и публикуют новые алгоритмы и методы молекулярной динамики, которые затем реализуются в коде пакета. Код оптимизирован вплоть до того, что наиболее часто используемые «вычислительные ядра» написаны на ассемблере отдельно для разных процессорных архитектур (ia32, ia64, x86-64, Altivec, VMX, BlueGene). Начиная с версии 4.0, вышедшей в 2008 году, в пакете используется очень сложный и эффективный алгоритм доменной декомпозиции и балансировки нагрузки, который позволяет оптимально распараллеливать вычисления на кластерах с разной топологией и скоростью сети. Для очень больших систем пакет может эффективно использовать до 10000 процессоров, хотя для типичных задач обычно хватает 32-64 ядер. Gromacs изначально отбросил совместимость с форматами файлов уже существовавших расчетных пакетов и пошел своим путем. Это позволило внедрить целый ряд технических нововведений - сжатые файлы траекторий, снимки состояния, позволяющие элементарно перезапустить «упавший» расчет, переносимый бинарный формат стартовых файлов, поддержка всех популярных силовых полей (CHARMM, AMBER, GROMOS, OPLS) и т.п.
Gromacs распространяется по лицензии GPL, разрабатывается в системе Linux и по умолчанию использует открытые библиотеки и инструменты - библиотеку для преобразований Фурье FFTW3, компилятор GCC, систему сборки CMake, библиотеки BLAS, LAPACK, OpenMPI и т.п. В то же время, при наличии на кластере проприетарных библиотек и компиляторов (например, Intel MKL и ICC), их можно использовать для «выжимания» максимальной производительности.
Gromacs славится своей великолепной документацией. Руководство пользователя Gromacs - эталон качественной документации к научному ПО. Описаны базовые научные концепции, используемые алгоритмы и детали их реализации. Дотошно документированы форматы файлов данных, синтаксис и функциональность всех программ пакета, нюансы и сценарии их использования. Wiki-раздел официального сайта содержит огромное количество хорошо структурированной дополнительной информации, обучающих материалов, примеров. На худой конец можно воспользоваться списками рассылки, где вполне реально достучаться до разработчиков или опытных пользователей.
1.
2. NAMD;
3. NWChem;
4. GAMESS и Firefly: антипример.
Все программы для молекулярного моделирования делятся, грубо говоря, на две категории: вычислительные пакеты и ПО для визуализации и анализа. Первые - это команднострочные программы, которые решают классические уравнения движения атомов в системе (молекулярная динамика) либо рассчитывают электронную структуру молекул на квантовом уровне (квантовая химия). Эти программы обычно устанавливаются на специализированных вычислительных кластерах и выполняются параллельно на нескольких процессорах (от нескольких штук до тысяч в зависимости от задачи). Реальное время расчетов варьируется от нескольких суток до нескольких месяцев, а суммарное процессорное время может легко достигать сотен тысяч часов.
Программы визуализации - это приложения для десктопа, которые отображают трехмерные структуры молекул в разнообразных представлениях, позволяют анализировать их, рассчитывать различные параметры, а также создавать изображения и видеоролики высокого качества для презентаций и статей. В этой части статьи я опишу некоторые популярные вычислительные пакеты.
Следует так же сказать, что для воспроизведения презентаций Вам потребуется скачать kmplayer бесплатно (http://my-kmplayer.ru/download-kmplayer), GOM Player или любой другой проигрыватель видеофайлов.
Gromacs
Пакет молекулярной динамики Gromacs (GROningen MAchine for Chemical Simulations, http://www. gromacs.org) был создан в Университете Гронингена (Нидерланды) в 90-х годах. Изначально программа создавалась совместно с одноименным параллельным компьютером, обладающим быстрым межпроцессорным взаимодействием, организованным в виде кольца. Со временем это «железо» безнадежно устарело, а вот программа - наоборот, завоевала широкую популярность. Gromacs по сути являлся «вариацией на тему» еще более старой программы GROMOS, созданной в 80-х годах. К началу 2000-х все ключевые разработчики Gromacs перебрались в Швецию и получили неплохое финансирование, так что пакет развивается стабильно и динамично. Разработчики активно исследуют и публикуют новые алгоритмы и методы молекулярной динамики, которые затем реализуются в коде пакета. Код оптимизирован вплоть до того, что наиболее часто используемые «вычислительные ядра» написаны на ассемблере отдельно для разных процессорных архитектур (ia32, ia64, x86-64, Altivec, VMX, BlueGene). Начиная с версии 4.0, вышедшей в 2008 году, в пакете используется очень сложный и эффективный алгоритм доменной декомпозиции и балансировки нагрузки, который позволяет оптимально распараллеливать вычисления на кластерах с разной топологией и скоростью сети. Для очень больших систем пакет может эффективно использовать до 10000 процессоров, хотя для типичных задач обычно хватает 32-64 ядер. Gromacs изначально отбросил совместимость с форматами файлов уже существовавших расчетных пакетов и пошел своим путем. Это позволило внедрить целый ряд технических нововведений - сжатые файлы траекторий, снимки состояния, позволяющие элементарно перезапустить «упавший» расчет, переносимый бинарный формат стартовых файлов, поддержка всех популярных силовых полей (CHARMM, AMBER, GROMOS, OPLS) и т.п.
Gromacs распространяется по лицензии GPL, разрабатывается в системе Linux и по умолчанию использует открытые библиотеки и инструменты - библиотеку для преобразований Фурье FFTW3, компилятор GCC, систему сборки CMake, библиотеки BLAS, LAPACK, OpenMPI и т.п. В то же время, при наличии на кластере проприетарных библиотек и компиляторов (например, Intel MKL и ICC), их можно использовать для «выжимания» максимальной производительности.
Gromacs славится своей великолепной документацией. Руководство пользователя Gromacs - эталон качественной документации к научному ПО. Описаны базовые научные концепции, используемые алгоритмы и детали их реализации. Дотошно документированы форматы файлов данных, синтаксис и функциональность всех программ пакета, нюансы и сценарии их использования. Wiki-раздел официального сайта содержит огромное количество хорошо структурированной дополнительной информации, обучающих материалов, примеров. На худой конец можно воспользоваться списками рассылки, где вполне реально достучаться до разработчиков или опытных пользователей.