© Георгиевский Анатолий, 26.10.2005

Задание 1: Hello MPI

Научиться использовать SVN, запустить тестовое приложение для MPI на разных процессорных архитектурах.

Загрузка и компиляция программ под MPI

  1. Использовать SVN для подгрузки исходного кода тестовой программы.
    svn co https://abuse.edu.ioffe.ru/svn/tasks/hello/ hello --username user
    
    Создает папку hello на локальном компьютере и подгружает файлы рабочей версии проекта hello из хранилища SVN.
  2. Компиляция программы производится командой make. Правила компиляции проекта описываются в файле Makefile.
    > cd hello
    > make hello
    
    В результате происходит компиляция проекта под архитектуру процессора.
  3. Проверить результат компиляции можно утилитой 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.
  4. Запуск программы на компьютерах кластера. Если всё было сделано правильно, то должны начать приходить сообщения о ходе выполнения программы.
    > 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

    (26 октября 2005 г.)

  •