Руководства, Инструкции, Бланки

Lammps руководство пользователя img-1

Lammps руководство пользователя

Категория: Руководства

Описание

Моделирование с использованием пакета LAMMPS (презентация)

/ [ Цыганов ] Печатные лекции и презентации (2 сем, ПМФ) / Моделирование с использованием пакета LAMMPS (презентация)

Примеры использования LAMMPS

Поток воды и ионов через поры кремния. Аморфный SiO2

(полупрозрачный желтый и красный цвета), ионы (синие и голубые) и молекулы воды (красный и белый )

Моделирование протеина RuBisCO, участвующим в преобразовании углекислого газа в процессе фотосинтеза и перестроения в органические формы

Примеры использования LAMMPS Взаимодействие наконечника с поверхностью

Кварцевый наконечник радиусом 100 А взаимодействует с кварцевой подложкой, покрытой мономолекулярным слоем алкил силанинов для изучения трения и стирания. Рисунки показывают деформацию и повреждение покрытия во время контакта.

Примеры использования LAMMPS Поток полимеров на шероховатой поверхности

Другие статьи

Lammps - скачать бесплатно

Lammps 20160906

Lammps - Пакет для классической молекулярной динамики. Lammps может применяться для крупных расчётов (до десятков миллионов атомов). В LAMMPS реализована поддержка большинства двухчастичных и многочастичных короткодействующих потенциалов. Реализованы методы Эвальда и PPPM (Particle-particle particle-mesh) для расчетов сил в системах с кулоновским взаимодействием.

Кроме МД, LAMMPS может применяться для проведения расчетов мезоскопических систем и коллоидных растворов. Для этого реализованы методы перидинамики, DPD (диссипативная динамика частиц), SRD (стохастическая вращательная динамика). Есть возможность записи атомных конфигураций в текстовый или бинарный файл. Начальная конфигурация атомов для расчета может быть как сгенерирована в программе, так и прочитана из бинарного/текстового файла.

Показать полностью ↓

Lammps Скачать >>> безопасная загрузка free SOFT

Как скомпилировать Lammps под windows? C

Как скомпилировать Lammps под windows? - C++

Которому посвящена 3 глава документации.

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

Мои мысли: судя по вопросу вы работаете/учитесь в университете. Задача использования таких пакетов как LAMMPS относится к классу мульти-дисциплинарных. И если у вас возникли трудности, то узнаёте есть ли в вашем университете вычислительный кластер и кто занимается параллельными вычислениями. Такие люди вам помогут с компиляцией и запуском, но вот что делать, должны знать вы сами.

05.02.2016, 12:04 Как скомпилировать Lammps под windows?

Текущее время: 11:28. Часовой пояс GMT +3.

Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS - тема научной статьи по физике, читайте бесплатно текст научно

Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS Numerical simulation of molecular-dynamical systems using LAMMPS package Текст научной статьи по специальности « Физика »
  • ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ , 
  • КЛАССИЧЕСКАЯ МОЛЕКУЛЯРНАЯ ДИНАМИКА , 
  • ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ , 
  • УГЛЕРОДНЫЕ НАНОТРУБКИ , 
  • NUMERICAL SIMULATION , 
  • CLASSICAL MOLECULAR DYNAMICS , 
  • PARALLEL COMPUTATIONS , 
  • CARBON NAN-OTUBES
Аннотация
научной статьи по физике, автор научной работы — Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич, Стародубов Аркадий Геннадьевич

Представлены результаты начального этапа разработки методики численного моделирования нового реального эксперимента, направленного на исследование физических условий образования длинных нанотрубок. Целью работы было проведение вычислительных расчётов для задач молекулярной динамики с использованием программного пакета LAMMPS на параллельном вычислительном кластере и анализ некоторых эмпирических потенциалов межатомного взаимодействия, которыми оперирует данный пакет. Библиогр. 7 назв. Ил. 5.

Abstract 2010 year, VAK speciality — 01.04.00, author — Shefov Konstantin Sergeevich, Stepanova Margarita Mihaylovna, Makarov Aleksey Nikolaevich, Starodubov Arkadiy Gennadievich, Vestnik of Saint-Petersburg University. Series 4. Physics. Chemistry

The results of the first steps to the development of a new method of real physical experiment simulation aimed at studying physical conditions of carbon nanotube forming. The aim of this work was to make parallel computations for MD problems using LAMMPS package and a computer cluster and to make the analisys of a few empirical potentials of interatomic interaction used by LAMMPS.

Научная статья по специальности " Физика " из научного журнала "Вестник Санкт-Петербургского университета. Серия 4. Физика. Химия", Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич, Стародубов Аркадий Геннадьевич

Скопируйте отформатированную библиографическую ссылку через буфер обмена или перейдите по одной из ссылок для импорта в Менеджер библиографий.

Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич, Стародубов Аркадий Геннадьевич Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS // Вестник СПбГУ. Серия 4. Физика. Химия. 2010. №4. URL: http://cyberleninka.ru/article/n/chislennoe-modelirovanie-molekulyarno-dinamicheskih-sistem-s-ispolzovaniem-paketa-lammps (дата обращения: 26.12.2016).

Шефов Константин Сергеевич et al. "Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS" Вестник Санкт-Петербургского университета. Серия 4. Физика. Химия (2010). URL: http://cyberleninka.ru/article/n/chislennoe-modelirovanie-molekulyarno-dinamicheskih-sistem-s-ispolzovaniem-paketa-lammps (дата обращения: 26.12.2016).

Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич & Стародубов Аркадий Геннадьевич (2010). Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS. Вестник Санкт-Петербургского университета. Серия 4. Физика. Химия URL: http://cyberleninka.ru/article/n/chislennoe-modelirovanie-molekulyarno-dinamicheskih-sistem-s-ispolzovaniem-paketa-lammps (дата обращения: 26.12.2016).

Скопируйте отформатированную библиографическую ссылку через буфер обмена или перейдите по одной из ссылок для импорта в Менеджер библиографий.

Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич, Стародубов Аркадий Геннадьевич Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS // Вестник СПбГУ. Серия 4. Физика. Химия. 2010. №4 С.126-130.

Шефов Константин Сергеевич et al. "Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS" Вестник Санкт-Петербургского университета. Серия 4. Физика. Химия (2010).

Шефов Константин Сергеевич, Степанова Маргарита Михайловна, Макаров Алексей Николаевич & Стародубов Аркадий Геннадьевич (2010). Численное моделирование молекулярно-динамических систем с использованием пакета LAMMPS. Вестник Санкт-Петербургского университета. Серия 4. Физика. Химия

Приложения молекулярной динамики LAMMPS и NAMD в качестве теста процессоров и ПК

Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.

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

Мы никогда не размещали навязчивую рекламу и не просили вас кликать по баннерам. Вашей посильной помощью сайту может быть отсутствие блокировки рекламы.

Спасибо вам за поддержку!

Приложения молекулярной динамики LAMMPS и NAMD в качестве теста процессоров и ПК

Этой статьей мы начинаем небольшой цикл, посвященный различным реальным приложениям, которые могут использоваться для тестирования процессоров, компьютеров, ноутбуков и рабочих станций. В дальнейшем все рассматриваемые в данном цикле статей приложения будут положены в основу нового тестового пакета iXBT Application Benchmark 2017. Поскольку в новом тестовом пакете предполагается использование более 20 различных тестов, а сводить рассмотрение их всех в одну статью довольно сложно, мы решили сделать отдельный цикл статей. В рамках этого цикла будут рассматриваться только те приложения, которые не использовались нами ранее при тестировании процессоров и компьютеров.

Начнем мы с рассмотрения двух специализированных программных пакетов, которые применяются для решения задач молекулярной динамики: LAMMPS и NAMD. Отметим, что данные программные продукты входят в состав специализированного тестового пакета SPECwpc 2.0, который ориентирован на тестирование рабочих станций. Включение приложений LAMMPS и NAMD (и не только их) в тестовый пакет iXBT Application Benchmark 2017 позволит нам в дальнейшем отказаться от использования специализированных бенчмарков для рабочих станций.

Мы не ставим себе целью детальное изучение этих специализированных пакетов молекулярной динамики и создание расчетных задач с нуля, поскольку не являемся специалистами в данной области. Наш подход в данном случае следующий: расчетные задачи (workload) и команды запуска программ с соответствующими параметрами мы позаимствовали из пакета SPECwpc 2.0 (в который входят оба эти приложения, как уже было сказано выше). Более детально об этом будет рассказано далее.

Одна из наиболее известных (в узких кругах) программ для классической молекулярной динамики — LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator). Данная программа является свободной (open source, GPL) и используется для расчетов взаимодействий до десятков миллионов атомов. Конечно же, программа очень непростая, ее освоение требует большого количества времени и специфических знаний в области молекулярной динамики. Есть и учебники, и даже курсы для освоения данной программы. Программа написана на языке C++ и не имеет графического интерфейса (только командный режим). Возможна компиляция исходных кодов под различные операционные системы (Linux, OS X, Windows). Кроме того, имеется большое количество различных опций компиляции, которые позволяют создавать исполняемый файл под конкретную архитектуру процессора и архитектуру графического процессора (Fermi, Kepler). Описание всех возможных опций данной программы выходит за рамки нашей статьи, но если кому-то интересно, учебник с описанием всех возможностей данного пакета есть на сайте разработчиков.

На сайте выкладываются заранее скомпилированные версии программы для различных операционных систем. Для тестирования мы воспользовались последней 64-битной Windows-версией LAMMPS 64-bit 20160516 (версия от 16.05.2016). Данная версия программы может запускаться как в однопоточном режиме, так и в многопоточном (в случае многоядерных процессоров и многопроцессорных систем), для этого служат разные команды. Конечно же, при тестировании процессоров мы использовали запуск в многопоточном режиме, но для этого необходимо дополнительно установить пакет MPI (Message Passing Interface), причем не любой (версия Microsoft не подойдет), а именно 64-битную версию MPICH2, созданную Argonne lab ( mpich2-1.4.1p1-win-x86-64.msi ).

После инсталляции пакета MPICH2 (по умолчанию он устанавливается в папку C:\Program Files\MPICH2 ) необходимо еще интегрировать его в систему. Для этого (обязательно в режиме администратора!) надо выполнить команду smpd.exe -install. Файл smpd.exe расположен в папке MPICH2\bin .

Более подробно с особенностями использования Windows-версии пакета LAMMPS можно ознакомиться здесь .

Далее инсталлируем пакет LAMMPS 64-bit 20160516 (в принципе, очередность установки этих двух пакетов не важна). По умолчанию он устанавливается в папку C:\Program Files. создавая там папку с именем LAMMPS 64-bit 20160516. Собственно, установки в смысле Windows не происходит, файлы пакета просто копируются в папку, которую в дальнейшем можно переименовать и переместить (например, сделать папку C:\LAMMPS ).

В папке пакета LAMMPS создается подпапка с названием Benchmarks. В этой папке содержатся файлы с задачами, которые можно использовать для тестирования. В этом еще одно преимущество данного пакета: не нужно самостоятельно создавать тестовые задачи. Имена файлов образованы по следующему правилу: исполняемый файл начинается с in. а после точки указывается название задачи — например, in.lj. in.rhodo или in.rhodo.scaled (в последнем примере rhodo.scaled — это название задачи). Кроме того, есть еще и файлы, имена которых начинаются с data. а после точки опять же указывается название задачи — например, data.chute. Это файлы с данными, которые используются в соответствующих задачах.

Всего в папке Benchmarks имеется пять различных задач, которые могут использоваться для тестирования. Использовать их все для наших целей избыточно, поэтому пока мы отобрали четыре задачи (Polymer chain melt benchmark (chain), Granular chute flow benchmark (chute), Rhodopsin protein benchmark (rhodo) и Lennard-Jones liquid benchmark (lj)), но возможно, в дальнейшем в пакете iXBT Application Benchmark 2017 будем использовать лишь два теста из четырех, дабы сократить время тестирования. Описание этих бенчмарков выходит за рамки данной статьи в силу их специфики, но те, кто знаком с темой, могут прочитать описание на английском языке .

Запуск программы LAMMPS производится через интерфейс MPI (команда mpiexec.exe ), а для запуска LAMMPS в многопоточном режиме используется команда lmp_mpi.exe :

mpiexec.exe -wdir <рабочая_директория> -localonly %n% lmp_mpi.exe <команда_запуска>

В данном случае параметр -wdir определяет рабочую директорию с исполняемым файлом и командой запуска программы LAMMPS ( lmp_mpi.exe ). Параметр -localonly задает количество одновременно выполняемых процессов, его значение должно соответствовать количеству логических (с учетом Hyper-Threading) ядер процессора.

Команда запуска исполняемого файла имеет следующую структуру:

-log <название_файла.out> <параметры> -in <путь_к_исполняемому_файлу>

В данном случае параметр -log определяет файл с отчетом о выполнении задачи.

Параметры запуска исполняемого файла могут изменяться под каждую конкретную задачу, описание параметров приводится в файле readme.txt в папке Benchmarks. Например, если пакет LAMMPS находится в папке C:\LAMMPS. пакет MPICH2 установлен по умолчанию, а все файлы расчетных задач скопированы из папки C:\LAMMPS\Benchmarks в папку C:\LAMMPS\bin (это четыре исполняемых файла и три файла данных, поскольку задача lj не требует файла данных: in.chain.scaled. in.chute.scaled. in.rhodo.scaled. in.lj. data.chain. data.chute. data.rhodo ), то для запуска теста используется следующая последовательность команд:

cd C:\Program Files\MPICH2\bin\ ;переходим в папку с исполняемым файлом mpiexec.exe
mpiexec.exe -wdir C:\LAMMPS\bin -localonly %n% lmp_mpi.exe <команда_запуска>

В итоге в нашем случае четыре тестовые задачи запускаются следующими командами:

mpiexec.exe -wdir C:\LAMMPS\bin\ -localonly %n% lmp_mpi.exe -log test_lj.out -var x 8 -var y 8 -var z 8 -in in.lj
mpiexec.exe -wdir C:\LAMMPS\bin\ -localonly %n% lmp_mpi.exe -log test_rhodo.out -var x 4 -var y 3 -var z 3 -in in.rhodo.scaled
mpiexec.exe -wdir C:\LAMMPS\bin\ -localonly %n% lmp_mpi.exe -log test_chain.out -var x 8 -var y 8 -var z 12 -in in.chain.scaled
mpiexec.exe -wdir C:\LAMMPS\bin\ -localonly %n% lmp_mpi.exe -log test_chute.out -var x 16 -var y 16 -in in.chute.scaled

Для запуска удобно использовать bat-файл, чтобы автоматически запускать все тестовые задачи по очереди. Запускать bat-файл нужно с правами администратора (Run As Administrator), в противном случае MPI-интерфейс работать не будет. В нашем случае bat-файл запускается с параметром, в качестве которого указывается количество ядер процессора, причем поскольку у нас полностью автоматизированный тест, количество ядер процессора тоже определяется автоматически.

Естественно, возникает вопрос: почему мы используем именно такие параметры для каждой тестовой задачи? Тут мы ничего не выдумывали, пакет LAMMPS (правда, более старой версии и иначе скомпилированный) входит в тестовый пакет SPECwpc 2.0, откуда мы и взяли параметры запуска тестовых задач.

Пакет NAMD (NAnoscale Molecular Dynamics). как и LAMMPS, является бесплатной программой для выполнения расчетов молекулярной динамики. NAMD написан с использованием модели параллельного программирования Charm++ и используется для симуляции больших систем (миллионы атомов). Как гласит Википедия, программа была создана совместно Группой теоретической и вычислительной биофизики (TCB) и Лабораторией параллельного программирования (PPL) из Иллинойсского университета. Программа поддерживает мультипроцессорность, а также возможность использовать для расчетов графические процессоры (технология CUDA).

Обсуждение нюансов, когда имеет смысл использовать пакет LAMMPS, а когда — NAMD, выходит за рамки данной статьи в силу специфики этих приложений. Для тех, кто в теме, учебник с описанием возможностей пакета NAMD есть на сайте разработчика.

Как и в случае LAMMPS, программа NAMD не имеет графического интерфейса, для ее запуска используется командная строка, а для запуска в многопоточном режиме используется интерфейс MPI. Далее мы подробно опишем процесс инсталляции и запуска программы NAMD, чтобы каждый мог реализовать данный тест самостоятельно.

На сайте разработчика имеются заранее скомпилированные версии программы для различных операционных систем. Для тестирования мы использовали 64-битную Windows-версию NAMD 2.11 с поддержкой MPI (Win64 MPI). Скачанный zip-файл содержит папку NAMD_2.11_Win64-MPI. которую надо разархивировать.

Для запуска программы в многопоточном режиме необходимо дополнительно установить пакет MPI (Message Passing Interface), причем пакет MPICH2 (который мы использовали для LAMMPS) не подойдет. Мы установили версию MPI Microsoft (MS-MPI 7.1).

Сам пакет NAMD (как и LAMMPS) не инсталлируется. Просто создаем папку C:\NAMD. в ней подпапку namd (можно, конечно, и иначе, но тогда нужно будет учесть другие пути к папкам при написании команд), из разархивированной папки NAMD_2.11_Win64-MPI переносим все файлы в папку C:\NAMD\namd. а затем в папке namd создаем папку data. в которую нужно будет скопировать задачи для теста.

На сайте разработчика в разделе NAMD Performance есть один доступный для скачивания тест — ApoA1. Скачав и разархивировав данный тест, копируем папку apoa1 в папку data. Одного теста нам показалось недостаточно, поэтому мы добавили еще два, f1atpase и stmv, позаимствовав их из соответствующей директории бенчмарка SPECwpc 2.0 (кстати, там же есть и тест apoa1). Итак, в папку data копируются папки тестов apoa1. f1atpase и stmv .

Далее в папке C:\NAMD создается bat-файл для запуска тестовых задач (каждый отдельный тест можно запускать из командной строки). Запуск программы NAMD производится через интерфейс MPI (команда mpiexec.exe ). Последовательность команд в командной строке следующая:

cd C:\Program Files\Microsoft MPI\Bin\ ;переходим в папку с исполняемым файлом mpiexec.exe
mpiexec.exe -wdir C:\NAMD\namd\namd2.exe <команда_запуска>

В данном случае параметр -wdir определяет рабочую директорию с исполняемым файлом (с расширением .namd) и командой запуска программы NAMD.

В итоге в нашем случае три тестовые задачи запускаются следующими командами:

mpiexec.exe -wdir C:\NAMD\namd\namd2.exe data\apoa1\apoa1.namd
mpiexec.exe -wdir C:\NAMD\namd\namd2.exe data\f1atpase\f1atpase.namd
mpiexec.exe -wdir C:\NAMD\namd\namd2.exe data\stmv\stmv.namd

Как мы уже отмечали, для автоматического запуска всех тестовых задач по очереди удобно использовать bat-файл. Запускать bat-файл следует с правами администратора (Run As Administrator), в противном случае MPI-интерфейс работать не будет. В случае пакета NAMD (при использовании MS-MPI 7.1) можно не указывать в параметрах количество ядер процессора, вычисления и так будут распараллеливаться на все имеющиеся ядра.

Отметим, что пакеты LAMMPS и NAMD загружают все ядра процессора на 100%.

Тестовый стенд и методика тестирования

Для тестирования с использованием приложений LAMMPS и NAMD мы использовали стенд следующей конфигурации:

  • Процессор: Intel Core i7-6950X (Broadwell-E)
  • Системная плата: Asus Rampage V Edition 10 (Intel X99)
  • Память: 4×4 ГБ DDR4-2400 (Kingston HyperX Predator HX424C12PBK4/16)
  • Видеокарта: Nvidia Quadro 600;
  • Накопитель: SSD Seagate ST480FN0021 (480 ГБ)

В ходе тестирования замерялось время выполнения тестовых задач в пакетах LAMMPS и NAMD. Рассматривалась зависимость результатов тестирования от количества используемых ядер процессора, от частоты ядер процессора и от частоты памяти.

Зависимость результатов от количества ядер процессора

Количество используемых в ходе тестирования ядер процессора Intel Core i7-6950X регулировалось через настройки UEFI BIOS платы Asus Rampage V Edition 10. Напомним, что процессор Intel Core i7-6950X является 10-ядерным, но поддерживает технологию Hyper-Threading, поэтому операционной системой и приложениями он видится как 20-ядерный (у него 20 логических ядер). Мы не отключали технологию Hyper-Threading и меняли лишь количество физических ядер процессора от 1 до 10. В дальнейшем мы будем говорить о логических ядрах процессора, количество которых менялось от 2 до 20 с шагом 2. Частота работы всех ядер фиксировалась и составляла 4,0 ГГц.

Результаты тестирования следующие:

Как видим, зависимость результатов (скорости выполнения тестовых задач) от количества ядер процессора не является линейной. При переходе от двух к четырем ядрам время выполнения теста уменьшается примерно в 1,9 раза и в пакете LAMMPS, и в пакете NAMD. А вот при переходе от 18 к 20 ядрам время выполнения тестовых задач в пакетах LAMMPS и NAMD меняется уже не так значительно (уменьшается на 2,8% в пакете LAMMPS и на 9,8% в пакете NAMD). Тем не менее, сама скорость выполнения тестовых заданий зависит от числа ядер процессора почти линейно. Более наглядно это можно продемонстрировать на графике зависимости нормированной скорости выполнения тестовых задач от числа ядер процессора (нормируется относительно времени выполнения задач на двух логических ядрах процессора).

Скорость выполнения тестовых задач в пакете NAMD меняется почти линейно в зависимости от числа ядер процессора. Скорость выполнения тестовых задач в пакете LAMMPS меняется линейно вплоть до 8 логических ядер процессора, а при дальнейшем увеличении ядер процессора (вплоть до 20) начинает наблюдаться тенденция к постепенному насыщению результатов.

В целом, увеличение числа ядер процессора в десять раз (от 2 до 20) приводит к уменьшению времени выполнения теста в 6,3 раза (уменьшение на 84,1%) в пакете LAMMPS и в 8,6 раза (уменьшение на 88,4%) в пакете NAMD.

Зависимость результатов от частоты процессора

Частота ядер процессора Intel Core i7-6950X менялась в настройках UEFI BIOS платы Asus Rampage V Edition 10 путем изменения коэффициента умножения. Частота менялась от 3,0 ГГц до 4,2 ГГц с шагом 200 МГц. Динамическое повышение частоты (режим Turbo Boost) отключалось. Использовались все ядра процессора (10 физических/20 логических ядер).

Результаты тестирования следующие:

Как видно по результатам, в пакете LAMMPS время выполнения тестовых задач слабо зависит от частоты процессора. При увеличении частоты процессора от 3 до 4,2 ГГц (увеличение на 40%) время выполнения тестовых задач уменьшается всего на 12%. Пакет NAMD более чувствителен к тактовой частоте процессора: так, увеличение тактовой частоты на 40% (с 3 до 4,2 ГГц) приводит к уменьшению времени выполнения теста на 25%.

Сравнивая полученные результаты тестирования с результатами зависимости времени выполнения тестов от числа ядер процессора, можно сделать следующий важный вывод: время выполнения тестовых задач в пакете LAMMPS хуже масштабируется по частоте и количеству ядер процессора в сравнении с тестовыми задачами в пакете NAMD. Теме не менее, и в пакете LAMMPS, и в пакете NAMD тестовые задачи отлично распараллеливаются на все доступные ядра процессора и загружают каждое ядро на 100%.

Зависимость результатов от частоты памяти

Теперь рассмотрим зависимость скорости выполнения тестовых задач от частоты работы памяти DDR4. Память работала в четырехканальном режиме (по одному модулю на канал), а ее частота менялась в настройках UEFI BIOS в диапазоне от 1600 до 2800 МГц c шагом в 200 МГц. Тайминги памяти фиксировались и не менялись при изменении частоты. Все ядра процессора работали на частоте 4,0 ГГц.

Результаты тестирования следующие:

Как видим, скорость выполнения тестовых задач в пакете NAMD практически не зависит от частоты работы памяти. Точнее, в четырехканальном режиме работы памяти пропускной способности DDR4 вполне достаточно даже на частоте 1600 МГц, и дальнейшее увеличение частоты памяти не позволяет ускорить выполнение тестовых задач.

А вот для тестовых задач в пакете LAMMPS ситуация несколько иная. Здесь наблюдается почти линейная зависимость времени выполнения тестовых задач от частоты памяти, и в диапазоне от 1600 до 2800 МГц (при четырехканальном режиме работы) увеличение частоты памяти на 200 МГц позволяет сократить время выполнения тестовых задач примерно на 3-5%. Результат, конечно, довольно скромный, но, тем не менее, зависимость от частоты памяти есть. Увеличение частоты памяти с 1600 до 2800 МГц (на 75%) приводит к суммарному сокращению времени выполнения тестовых задач на 19%.

Заключение

Итак, в первой статье нашего нового цикла мы рассмотрели два теста на основе специализированных приложений молекулярной динамики LAMMPS и NAMD. На примере 10-ядерного процессора Intel Core i7-6950X было показано, что тестовые задачи в этих пакетах хорошо распараллеливаются на все ядра процессора и загружают их на 100%. Именно это обстоятельство позволяет рассматривать данные приложения как отличный вариант для тестирования многоядерных процессоров. Зависимость скорости выполнения тестовых задач от числа ядер процессора является почти линейной для пакета NAMD (в диапазоне от 2 до 20 логических ядер). В приложении LAMMPS зависимость скорости выполнения тестовых задач от числа ядер процессора является почти линейной вплоть до 8 логических ядер, но при большем числе ядер скорость выполнения тестовых задач постепенно насыщается.

Также было показано, что время выполнения тестовых задач в приложении LAMMPS в меньшей степени зависит от частоты ядер процессора, чем в приложении NAMD.

Наконец, было показано, что время выполнения тестовых задач в приложении LAMMPS линейным образом зависит от частоты памяти DDR4 (в четырехканальном режиме и диапазоне от 1600 до 2400 МГц). А вот в приложении NAMD время выполнения тестовых задач вообще никак не зависит от скорости памяти (в тех же оговоренных режимах работы памяти).

В следующей статье данного цикла мы рассмотрим два математических пакета, которые можно использовать для тестирования процессоров и компьютеров: пакет FFTW для реализации быстрого преобразования Фурье и пакет GNU Octave.

30 августа 2016 г.