©
Георгиевский Анатолий,
26.10.2005
Задание 1: Hello MPI
Научиться использовать SVN, запустить тестовое приложение для MPI на разных процессорных архитектурах.
Загрузка и компиляция программ под MPI
- Использовать SVN для подгрузки исходного кода тестовой программы.
svn co https://abuse.edu.ioffe.ru/svn/tasks/hello/ hello --username user
Создает папку hello на локальном компьютере и подгружает файлы рабочей версии
проекта hello из хранилища SVN.
- Компиляция программы производится командой make.
Правила компиляции проекта описываются в файле Makefile.
> cd hello
> make hello
В результате происходит компиляция проекта под архитектуру процессора.
-
Проверить результат компиляции можно утилитой file.
> file hello
Утилита сообщает формат исполняемого файла, например,
ELF 32-bit LSB executable, Intel 80386 ...
или
ELF 64-bit LSB executable, AMD x86-64 ...
ELF - формат исполняемого файла для Linux. Приложение скомпилированное под архитектуру Intel 80386 (IA-32) будет
выполняться на AMD x86-64, а приложение под 64-битную архитектуру AMD x86-64 вызовет ошибку на процессоре
c архитектурой IA-32.
-
Запуск программы на компьютерах кластера. Если всё было сделано правильно,
то должны начать приходить сообщения о ходе выполнения программы.
> mpirun -np 8 -nolocal hello
3 received 'Hello, World of MPI! I'm process 2 on grid03.cluster.edu.ioffe.ru'
4 received 'Hello, World of MPI! I'm process 3 on grid04.cluster.edu.ioffe.ru'
1 received 'Hello, World of MPI! I'm process 0 on grid01.cluster.edu.ioffe.ru'
2 received 'Hello, World of MPI! I'm process 1 on grid02.cluster.edu.ioffe.ru'
5 received 'Hello, World of MPI! I'm process 4 on grid01.cluster.edu.ioffe.ru'
6 received 'Hello, World of MPI! I'm process 5 on grid02.cluster.edu.ioffe.ru'
7 received 'Hello, World of MPI! I'm process 6 on grid03.cluster.edu.ioffe.ru'
0 received 'Hello, World of MPI! I'm process 7 on grid04.cluster.edu.ioffe.ru'
Параметры запуска приложения
"-np 8" - количество процессов.
"-nolocal" - запрещает исполнение программы на управляющем компьютере кластера.
Надо научиться настраивать компилятор С/С++ на один из трех исполняемых форматов
AMD-64, IA-32 и IA-32 для Виндов.
Нужно описание, как составлять makefile
()
|