Как запустить код под MPI на клауде

Как запустить код под MPI на клауде

Andrew Nikolaev

Full-версия гайда доступна здесь.


Основные ингридиенты:

  1. Рабочий cppшний код под mpi c прошлого сема.
  2. Аккаунт в Google Cloud Platform.


Что дальше?

После того как аккаунт создан, необходимо забабахать виртуалку.

1. Переходим на страницу с виртуальными машинами (ВМ):

COMPUTE > Compute Engine > VM instances


2. Выбираем Create instance. Там всё оставляем по дефолту, меняем только:

• 1 vCPU → 4 vCPU

• Boot disk: Ubuntu 16.04 LTS

• ✓ Allow HTTP traffic

3. Нажимаем Create. Виртуалка создана!

4. Теперь загружаем на Google Drive свой cppшник, открываем к нему доступ по ссылке и запоминаем его idшник.

id файла


5. После этого возвращаемся на страничку ВМ и нажимаем на SSH в строке с витруалкой.

Если выдаёт Warnings, то

a. Нажимаем на стрелочку справа от SSH, где выбираем


b. В появившемся окне копируем команду типа такой:

gcloud compute --project "optimum-reactor-187009" ssh --zone "us central1-a" "ubuntu-xenial-8"

c. Запускаем на своём компе Google Cloud SDK Shell (см. Примечания) и выполняем её там. Откроется консоль виртуалки.

PuTTY


6. В него мы вводим команду

wget --no-check-certificate 'https://docs.google.com/uc&export=download&id=FILEID' -O FILENAME

где вместо FILEID подставляем id из пункта 4, FILENAME – какое-нибудь слово – имя файла, как он будет сохранён на виртуалке.

7. Теперь поставим на ВМ gcc и mpi-модуль. Делается двумя командами:

sudo apt-get install mpich
sudo apt-get install gcc

8. Далее файл на диске надо скомпилить и запустить. Для этого вводим команды:

mpic++ filename.cpp -o name -std=c++11
mpirun -np 2 ./name

Где вместо 2 можно поставить какое-нить число от 1 до 8 – кол-во задействованных процессов.

9. Если ошибок доселе не было, то можно поиграться, указывая разное кол-во процессов:

amma parallel proger


Виден прирост в скорости при увеличении кол-ва задействованных процессов.

Ещё можно посмотреть, как загружается клауд:

клауд потеет


И отметить, что подробная конфигурация гугловсих машин, увы, скрыта:


О том, как объединить две ВМ и запустить свой код на обеих одновременно, читайте тут.


N. Ах, да! И не забудьте выключить его нахрен. А то придётся заводить новый ак с 300$.

теперь можно пойти спокойно пожрать



Примечания

Найти Cloud SDK можно здесь. На винде дальнейшая установка стандартная. Для яблочников с macOS установка описана ниже.


Как установить Cloud SDK на MacOS

a. Открываем консоль, там вводим

python -V

b. Должно вернуть версию Python 2.7.x. Потом пишем

curl https://sdk.cloud.google.com | bash

c. Устанавливаем. И проверяем работоспособность gcloud строчкой

/Users/USERNAME/Desktop/google-cloud-sdk/bin/gcloud init

d. После этого вводим команду из пункта 5-b выше. В ответ на что будет предложено установить пароль (5-значный). Делаем это.

прикольное отображение ключа в консоли


Затем тут же будет предложено пройти авторизацию, вводим наш пароль из предыдущего пункта, вас перенаправит на страницу гугл-аккаунта, где будет запрошено разрешение на доступ к нему - разрешаем.

e. Будет написано, что вы залогинились [ваша почта], и предложено выбрать проект. Выберите тот, в котором создавали ВМ.

Victory!


Конфигурацию пропускаем. Видим победную строку.

Консоль виртуалки при этом откроется в консоле мака (ваше имя будет подсвечено зелёным).

наканецта


f. Далее переходим к пункту 6 из основой части гайда.

Report Page