KuznetsovSM писал(а): ↑Вс ноя 11, 2018 3:27 pm
Всем добрый день!
Я прошерстил весь сайт, но так и не понял, как можно распараллелить вычисления в Природе (optimization, dipole, hessian), если у меня есть 1 комп с 4 ядрами на ОС Windows?
Подскажите, пожалуйста, что делать, что устанавливать и как прописывать запуск на нескольких ядрах сразу!
Заранее огромное спасибо!
Во-первых, нужна версия Природы, которая это поддерживает.
Во-вторых, идёте качаете цыгвин:
https://cygwin.com/setup-x86_64.exe
и в установщике выбираете (там есть поиск сверху) пакет openmpi (ставите галочку), установку дефолтных пакетов не отменяете.
Цыгвин ставится. Далее цитирую EvgeniX, только из-за того, что версия openmpi будет постарше, там нет файлов cygopen-pal-13.dll cygopen-rte-12.dll а есть ...pal40 и rte-40, берёте их.
Для запуска параллельной 64-разрядной версии нужно скачать 64-разрядную CygWin, установить базовую поставку, плюс библиотеку OpenMPI, оттуда перекачать следующие модули (больше CygWin будет не нужен):
1) cygwin1.dll
2) cyggcc_s-seh-1.dll
3) cygmpi-12.dll
4) cygopen-pal-13.dll
5) cygopen-rte-12.dll
6) orterun.exe
cygwin1.dll нужно брать именно из поставки CygWin, т.к. версии остальных DLL работают только с ней.
Чтобы не запускать из-под терминала CygWin, нужно на директорию выше, из которой запускается ПРИРОДА создать директорию dev, а внутри поддиректории shm и mqueue. (Когда библиотеки CygWin не находят установленное окружение, они считают, что корень окружения / находится на директорию выше, чем то место, откуда происходит запуск.) Если программа лежит в системных директориях, вроде C:\Program Files, то запуск нужно вести от администратора.
Сам запуск ведётся командой вида:
orterun.exe -np 2 p.exe "C:\Work\file.in" "C:\Work\file.out"
Примечание. Если у вас комп подключён через WiFi, при этом в списке устройств есть LAN-адаптер - отключите его.
Иначе тупой Openmpi будет вываливаться с ошибкой
"tcp_peer_send_blocking: send() to socket 12 failed: Transport endpoint is not connected (128)"
Я лично правами человека накушалась досыта. Некогда и мы,и ЦРУ,и США использовали эту идею как таран для уничтожения коммунистического режима и развала СССР. Эта идея отслужила свое,и хватит врать про права человека и про правозащитников. © Новодворская