1 / 10

Параллельные вычисления Сергей Васильевич Федоров,

Параллельные вычисления Сергей Васильевич Федоров,.

chiko
Télécharger la présentation

Параллельные вычисления Сергей Васильевич Федоров,

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Параллельные вычисления Сергей Васильевич Федоров, Лекция № 4Множественное распараллеливание на Linux кластере с помощью библиотеки MPI 1. Компиляция и запуск программы на кластере. 2. SPMD модель параллельного программирования. 3. Группа процессов в коммуникаторе. 4. Передача/прием сообщений между отдельными процессами

  2. Компиляция и запуск программы на кластере make– технология управления проектом (и для Windows) (см. public/GNU Make Программа управления компиляцией.html)1. Автоматизирует, и оптимизирует компиляцию проектов2. Позволяет обходиться БЕЗ IDE – интегрированной графической облочки3. Позволяет легко программировать, и в дальнейшем использовать любые рутинные операции, например: выборочная очистка, копирование, сохранение (Backup), передача по сети, в т.ч. с посылкой почты Bash -язык сценариев командной оболочки (будет лабор-я) (см. public/Искусство программирования на языке сценариев командной оболочки.html) 1. Единственный способ выполнения любых команд в текстовом режиме 2. Простая поддержка удаленного использования и администрирования 3. Простейший скриптовый язык, где большая часть простых задач по управлению файловой системой, и процессами уже реализована.Как и Linux,используется практически во всех масштабируемых сетях,В том числе в научных Grid – сетях,Непригоден для задач с большими массивами, с длительной обработкой файлов

  3. Компиляция и запуск программы на кластере make – технология управления проектом (см. public/GNU Make Программа управления компиляцией.html) 1.Две разновидности (flavors)переменных, и ссылка с заменойx = N.o T.c x = N.o T.c x := N.o T.c y = $(x) y = $(x) y := $(x) x = N.a T.c x = N.a T.c x := N.a T.c z = $(y) z = $(y: %.a=%.o) z = $(y) (z  N.a T.c) (z  N.o T.c) (z  N.o T.c) 2.явные правила (перед командами обязателен \TAB, табуляция)name.exe : fname1.obj fname2.obj link --o:$@ $^# $^ заменяется на списокпререквизитов # $@ заменяется на цель (предопределенный макрос) 3. неявные правила, использование шаблонов (% -любое имя) %.obj %.mod : %.f90 %.fi %.fd ifort -c -o:$@ $<# $< первыйпререквизит из списка

  4. Компиляция и запуск программы на кластере make – технология управления проектом (см. public/GNU Make Программа управления компиляцией.html) 4.Множественные цели проекта, all – начальная цель по умолчанию all : echo warn # повтор цели приводит к накоплению пререквизитовall : name.lib name.exe # порядок важен !clean : # общепринятая цель для перекомпиляции del *.obj # команда оболочки (rmв Linux)echo :# цель для отладки @echo name = $(name)# команда оболочки 5. Трудности одновременного использования в Linuxи Windowsразные разделители директорий “/” и “\”имена файлов - желательно без пробеловвозможно – разная форма флагов компилятораи точно – разный набор флагов для линковки модулей разных типов(в том числе разные расширения для загружаемых и промежуточных файлов)

  5. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html #!/usr/bin/bash - командная оболочка Linux (CygWin под Windows) Внутренние команды Bash:echo "внутренняя команда \"echo\".“/bin/echo “Внешняя команда /bin/echo.“read; printf – интерактивный Вввод и Вывод на консольread var< commands.sh; printf var > text.log – переопредление ввода/выводаcd dir, pwd – переход в каталог, текущий каталогpushd; popd; dirs – работа со стеком последних каталоговset; unset – установка и сброс внутренних переменных Bashexport – установка переменных, доступных родительским облочкамsource file.sh; . file.sh– запуск сценария из файла в той же оболочкеexec file.sh – замещение текущего сценария новым (дочерним)(последняя команда тек.сценария, например перезапуск после засыпания)

  6. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html Внешние команды Bash вLinux (доступны под Windows в C:\usr\bin):/bin/echo– полный путь для вызова одноименных команд; поиск в $Pathls; ls -R – вывод "списка" файлов, в том числе рекурсивноcat file1 file2 > file; tac …–выводфайлов в прямом и обратном порядкеcp file1 file2; mv; rm – копирование, перемещение и удаление файловmkdir; rmdir – создание и удаление каталогов (удаляет только пустой)ln; ln -s –создает жесткую и мягкую (soft)ссылку (отличаются при уд-и) Позволяет задавать несколько имен одному и тому же файлуchmod – Изменяет атрибуты доступа (rwx) к файлу (владелец,группа,все)chmod +x file - доступен для исполнения всем пользователям,chmod u+s file -для всех - привилегии владельца файла,chmod 644 file –право на чтение/запись–владельцу, на чтение–группе, всем(rw_,r__,r__) =>(110,100,100) =>(644) – восьмеричное число (see menu Файл/Права в Midnight Commander)

  7. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html Смена прав доступа к файлу: chmod [u g o a][+ - =][r w x] file1…u– смена права доступа для пользователя, g – для группы, o – для других пользователей, a – для всех трех категорий. +– добавление соответствующего права, -– удаление, а = – присвоениеchmod g+w testchown и chgrp – смена владельца-пользователя и владельца-группы файла

  8. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html Самые распространенные внешние командыfind dir – поиск в файловой системе, начиная с каталога dirgrep <рег_выражение> file1…– поиск в файлах вхождений регулярного выражения рег_выражение…

  9. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html Синтаксис переменных Bash:Переменные Bash не имеют типа:v=2; let “v+=2 ”; echo “v=$v” # => (v=4):let - командаарифметикиСпециальные типы переменных:локальные переменные, переменные окружения, позиционные параметры:$1, $2, ..$9, $#, $@ - аргументы по номеру, число и все аргументы сценария $var, ${var} – прямые ссылки на переменную varargs=$# ;lastarg=${!args} – косвенная ссылка на последний аргументecho ${username-`whoami`} – параметр со значением по умолчанию“\n”, “\t”, $’\033’ - способы экранирования символов, специальные символы

  10. Компиляция и запуск программы на кластере Искусство программирования на языке сценариев командной оболочки.html Синтаксис команд Bash:Конструкции проверки условий: (код возврата comm: ‘0’ -истина)if comm; then tCommelsefCommfi[ -z ‘name’ ]; test –z ‘name’ : test - командапроверки строк[ -n ‘name’ ] && echo ‘Info: variable $name is defined’ – условная печатьif [ -z ‘name’ ]; then tComm# условная конструкция testfi[[ $a == z* ]] - команда test с расширенными возможностями сравнения (($var+7 ))Арифметические выражения возвращающие ‘0’ (истина) если само выражение не ноль (противоположно [[] ])if [ "$a" -le "$b" ];(($var <= 7 )) операции сравнения (строковые и ариф-е)

More Related