Алгоритм установки пакета CPMD версии 3.13.2 под операционные системы KUbuntu 10.4 amd64 и i386 на рабочии станции с процессорами AMD или Intel для проведения расчетов в одиночном или параллельном режиме. Редакция 06.05.2011
1. Скачиваем компилятор:
sudo apt-get install gfortran
2. А также вот эти пакеты ATLAS`a:
sudo apt-get install libatlas-headers libatlas-base-dev libblas-dev
3. Закачиваем архив с исходниками CPMD с официального сайта, распаковываем и переходим в папку:
cd SOURCE
4. Набираем команду для создания мейкфайла для выбранной нами архитектуры. MPI на конце, означает, что сборка производиться для системы с распределенной памятью.
./mkconfig.sh LINUX-x86_64-FEDORA-MPI > Makefile
./mkconfig.sh LINUX-i686-FEDORA-MPI > Makefile
Рабочий алгоритм по конфигурированию и установке прогрммы Car-Parrinello Molecular Dynamic. Тестировался на следующих процессорах: AMD ATHLON-64 X2 4200+, Intel Core 2 Duo E7500, Intel Atom N270.
CPMD дает возможность реализовать параллельные квантово-химические расчеты на архитектурах с общей (SMP) и распределенной (MPP) памятью. Судя по сообщениям из майл-листа разработчиков данного пакета, использование архитектуры SMP, целесообразно только при достаточно большом количестве процессоров (или ядер), а так по скорости расчетов MPI работает лучше. Например, типовой расчет: FUNCTIONAL BLYP, GC-CUTOFF 5.0e-6, MAXSTEP 200, TIMESTEP 4.0, псевдопотенциал Вандербильта, энергия обрыва плоских волн 25 Ry, (общее время моделирования: 800 a.u. ~ 19,35 фс), система из 32 молекул воды, проводящийся на одном процессоре:
- Intel Core 2 Duo E7500 в два потока*, проходит за 30 минут ;
- AMD ATHLON-64 X2 4200+ в один поток, проходит за 1 час 20 минут ;
- Intel Core 2 Quad Q8200 в один поток, проходит за 2 часа 18 минут.
* - пакет установлен по данному алгоритму.
Программа устанавливался на компьютер с уже установленной программой GROMACS, сконфигурированной под OpenMPI, так что рекомендуется проверить перед установкой CPMD пакеты поставленные из предыдущих руководств.1. Скачиваем компилятор:
sudo apt-get install gfortran
2. А также вот эти пакеты ATLAS`a:
sudo apt-get install libatlas-headers libatlas-base-dev libblas-dev
3. Закачиваем архив с исходниками CPMD с официального сайта, распаковываем и переходим в папку:
cd SOURCE
4. Набираем команду для создания мейкфайла для выбранной нами архитектуры. MPI на конце, означает, что сборка производиться для системы с распределенной памятью.
./mkconfig.sh LINUX-x86_64-FEDORA-MPI > Makefile
./mkconfig.sh LINUX-i686-FEDORA-MPI > Makefile
Поддерживается, также OpenMP для multi-core CPU, тогда файл должен оканчиваться на SMP, также возможна их совмещение, тогда SMP-MPI.
Но у меня установить и запустить при SMP-MPI конфигурациях для других архитектур не получилось, у кого получиться напишите, КАК это сделать ?!
5. Выполняем сборку пакета.
make
Ошибка: не найден mpif77
Исправлена:
sudo apt-get install libmpich1.0-dev
6.
make clean
make
Ошибка:
/usr/bin/ld: cannot find -lfftw
collect2: ld returned 1 exit status
make: *** [cpmd.x] Ошибка 1
Исправлено:
sudo apt-get install fftw-dev
make clean
make
8. Копируем бинарный исполнимый файл в директорию для запускаемых файлов.
cp ./cpmd.x ~/software/bin/ -v
(/home/root2/software/bin/ - это один из путей PATH (echo $PATH), которые сканируются при поиске исполнимых файлов)
9. Проверяем доступность всех библиотек, если выдает список, значит все ОК.
ldd /home/root2/software/bin/cpmd.x
linux-vdso.so.1 => (0x00007fffbf45b000)
liblapack.so.3gf => /usr/lib/atlas/liblapack.so.3gf (0x00007f7213e1a000)
libblas.so.3gf => /usr/lib/atlas/libblas.so.3gf (0x00007f721347f000)
libfftw.so.2 => /usr/lib/libfftw.so.2 (0x00007f7213246000)
libmpi_f77.so.0 => /usr/lib/libmpi_f77.so.0 (0x00007f721300e000)
libmpi.so.0 => /usr/lib/libmpi.so.0 (0x00007f7212d5e000)
libopen-rte.so.0 => /usr/lib/libopen-rte.so.0 (0x00007f7212b11000)
libopen-pal.so.0 => /usr/lib/libopen-pal.so.0 (0x00007f721289d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f7212699000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007f721247e000)
libutil.so.1 => /lib/libutil.so.1 (0x00007f721227b000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f7211f8e000)
libm.so.6 => /lib/libm.so.6 (0x00007f7211d0a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f7211af3000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f72118d6000)
libc.so.6 => /lib/libc.so.6 (0x00007f7211552000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7214a3f000)
Вот и все. Установка завершена, теперь можно запускать моделирование.
mpirun -np 2 cpmd.x cpmd-init-wave.in -запустит два процесса расчета на текущем процессоре машины и будет выдавать информацию на стандартный вывод, ее можно перенаправить в файл добавив к концу команды > cpmd-init-wave.out
при указании параметров моделирования методом КП необходимо указывать: вид псевдопотенциала, энергию обрыва плоских волн, шаг по времени, количество шагов.
ОтветитьУдалитьа вид обменно-корреляционного функционала на время расчета практически не влияет.
спасибо за дополнение...
ОтветитьУдалитьнадо еще дописать: псевдопотенциал Вандербильта, энергия обрыва плоских волн 25 Ry
ОтветитьУдалить