КАК СДЕЛАТЬ СУПЕР КОМПЬЮТЕР

КОМПЬЮТЕРНЫЙ ПЕРЕВОД СТАТЬИ С САЙТА: http://www.southampton.ac.uk/~sjc/raspberrypi/pi_supercomputer_southampton.htm

Посмотреть видео по адресу: http://www.youtube.com/watch?v=Jq5nrHz9I94

Шаги, чтобы сделать Raspberry Pi суперкомпьютерного

Профессор Саймон Кокс
Вычислительной техники и группа Дизайн-исследования
Инженерный факультет и окружающая среда
Университет Саутгемптона, SO17 1BJ, Великобритания.

V0.2: 8 -го сентября 2012
V0.3: 30 -го ноября 2012 [Обновлено с менее прямые ссылки на скачивание MPICH2]
V0.4: 9 -го января 2013 [Обновлено шагом 33]
Первые шаги, чтобы получить СУПЕРКОМПЬЮТЕР



1.       Получить изображение из
Изначально я использовал: 2012-08-16-свистящих raspbian.zip
Обновлено 30/11/12: 2012-10-28-свистящих raspbian.zip
Мой совет , чтобы проверить загрузки страницы на raspberrypi. Org и использовать последнюю версию.
2.       Использованием Win32 диска Imager поставить изображение на карту памяти SD (или на Mac, например, Disk Utility / дд )
Вы будете использовать кнопку "Записать", чтобы поместить изображение с диска на карту
3.       Загружаться на Pi
4.       Развернуть изображение, чтобы заполнить карту с помощью опции на экране при первой загрузке. Если вы не делаете этого при первой загрузке, то вам нужно использовать
$ Суда Raspi-конфигурации
5.       Войти и изменить пароль
PASSWD
6.       Выйдите из системы и убедиться, что вы ввели все ОК (!)
выходе
7.       Войдите снова с новым паролем
Здание MPI, чтобы мы могли запускать код на нескольких узлах
8.       Обновите список пакетов в кэше
Sudo APT-получить обновление
9.       Просто делать это по привычке, но обратите внимание, не делают больше, чем просто получать списка (обновление через " Суда APT-GET обновления ").
10.   Получить Fortran ... В конце концов, что является научным программирования Fortran без того, чтобы быть возможность?
Sudo APT-получить установку gfortran
11.   Читайте о MPI на Pi. Это отличный пост читать просто показать, что вы собираетесь сделать его до конца, но не ввести или получить все, только все же-мы собираемся строить все сами:
Обратите внимание, есть несколько вещей, чтобы отметить здесь
а)      Поскольку мы ставим Fortran, мы хорошо идти, не исключая ничего
б)      Пакеты здесь для Армель , и мы должны ARMHF в этом случае ... так что мы собираемся строить MPI себя
12.   Читайте немного больше, прежде чем вы начнете:
Примечание: В версии MPICH2 обновлений, вам лучше пойти в:
и получить руководство последней установщика.
Мы собираемся выполните шаги с 2,2 (из Раздел быстрого запуска) в руководстве.
13.   Создайте директорию поставить источники в
MkDir / home/pi/mpich2
CD ~ / mpich2
14.   Получить MPI источников Аргоннской.
[Обратите внимание, что в качестве источника обновления MPI, можно перейти к:
http://www.mpich.org/downloads/ , чтобы получить последнюю стабильную версию выпуска для MPICH2]
15.   Распаковывать их.
$ смол XFZ mpich2-1.4.1p1.tar.gz
[Примечание: Вам нужно будет обновлять это как версия MPICH2 шагом]
16.   Сделайте себе место, чтобы поместить откомпилированные файлы - это также сделает его легче понять, что вы положили в новой в вашей системе. Также Вы можете закончить строительство этого несколько раз ...
Суда MkDir / Главная / rpimpi /
Суда MkDir / Главная / rpimpi / mpich2-Install
[Я просто выбрал " rpimpi ", чтобы заменить" ты "в руководстве Аргон и я сделал создание каталогов в два этапа]
17.   Создайте каталог сборки (так мы сохраним исходный каталог чистые вещи сборки)
 MkDir / Главная / PI / mpich_build
18.   Перейдите в каталог BUILD
CD / Главная / PI / mpich_build
19.   Теперь мы собираемся настроить построить
Суда / home/pi/mpich2/mpich2-1.4.1p1/configure-префикс = / главная / rpimpi / mpich2-Install
[Примечание: Вам нужно будет обновлять это как версия MPICH2 шагом]
Сделать чашкой чая
20.   Сделать файлы
Суда сделать
Сделайте еще одну чашку чая
21.   Установите файлы
Sudo сделать установку
Сделайте еще одну чашку чая - он закончится ...
22.   Добавить место, которое вы положили установите на свой путь
Экспорт $ PATH = $ PATH :/ Главная / rpimpi / mpich2-install/bin
Обратите внимание, чтобы навсегда положить это на путь, который вы должны будете отредактировать. Профиль
нано ~ /. профиль
... и добавить в нижней следующие две строки:
Добавить MPI путь
PATH = "$ PATH :/ Главная / rpimpi / mpich2-install/bin " 
23.   Убедитесь в том, что сделали устанавливаться или нет
которых mpicc
которых Mpiexec
24.   Перейдите в каталог Вернуться на главную и создать куда-то девать тесты
CD $ ~
$ MkDir mpi_testing
$ CD mpi_testing
25.   Теперь мы можем проверить, является ли MPI работает для Вас на одном узле
Mpiexec -F machinefile -н имя хоста
где machinefile содержит список IP-адресов (в данном случае только один) для машин
а)      Получите ваш IP адрес
Ifconfig
б)      Положите это в один файл называется machinefile
26.   нано machinefile
Добавьте следующую строку:
192.168.1.161
или независимо от вашего IP-адреса был]
27.    Если вы используете
Mpiexec -F machinefile -N 1 имени хоста
Выход есть:
raspberrypi
28.   Теперь, чтобы работать немного кода C. В примерах подкаталоге, где вы построили MPI является известным примером ИПЦ. Теперь вы будете использовать MPI на вашем Pi для вычисления Пи:
CD / Главная / PI / mpi_testing
Mpiexec -F machinefile -N 2 ~ / mpich_build / примеры / ИПЦ
Выход есть
Процесс 0 из 2 находится на raspberrypi
Процессе 1 2 находится на raspberrypi
PI примерно +3,1415926544231318, погрешность +0,0000000008333387
Празднуйте, если вы получаете так далеко.

Вспышка меня ... один раз

29.   Теперь у нас есть мастер-копии основных узлов станка со всеми установленными файлами для MPI в одном месте. Теперь мы хотим, чтобы клонировать эту карту.
30.   Выключение вашего Pi очень тщательно
Суда отключение питания
Извлекать карту и вставьте его обратно в записи на карту SD на ПК / другого устройства. Используйте Win32 диска Imager (или на Mac, например, Disk Utility / дд ) поместить изображениеОТ вашей SD карту обратно к компьютеру:
Вы будете использовать "прочитанные", чтобы поместить изображение с диска на карту
Назовем изображения "2012-08-16-свистящих raspbian_backup_mpi_master.img"
31.   Извлеките карту и положить свежую карту в PC / другого устройства. Использованием Win32 диска Imager поставить изображение на карту памяти SD (или на Mac, например, Disk Utility /дд )
Вы будете использовать кнопку "Записать", чтобы поместить изображение с диска на карту и выберите "2012-08-16-свистящих raspbian_backup_mpi_master.img" изображение, которое вы только что создали.
[Обратите внимание, что есть, вероятно, более эффективных способов сделать это - может быть, в частности, избежать расширения файловой системы . в пункте 4 первой секции]
32.   Вставьте карту в свой ​​второй Pi и загрузку. Теперь вы должны иметь два Raspberry Pis далее. Если не указано иное, все команды ниже набираются от Мастер Пи, что вы построили первый.

Использование SSH вместо Логин Пароль между Pis

33.   Разобраться RSA для обеспечения быстрой журнала дюйма Это лучшее, что можно прочитать:
В резюме (рабочий на главном узле Pi)
CD $ ~
$ SSH-Keygen-T RSA-C "raspberrypi @ raspberrypi"
Этот набор умолчанию используют / Главная / PI /. SSH / id_rsa сохранить ключ
Введите фразу, например, " myfirstpicluster ". Если оставить это поле пустым (не такая хорошая безопасность), то никакое дальнейшее типирование фраз не требуется.
кошки ~ /. SSH / id_rsa.pub | SSH pi@192.168.1.162 " MkDir . SSH; кошку . >> SSH / authorized_keys "
34.   Если сейчас войти в свой другой Pi и делать
Ls -Al ~ /. SSH
Вы должны увидеть файл с именем " authorized_keys »- это ваш билет на« нет логина небо »на узлах
35.   Теперь добавим новые Пи до machinefile . (Вход в нее и получить свой ​​IP-адрес, как указано выше)
Рабочие на мастер Raspberry Pi (первый, который вы построили):
нано machinefile
Сделать его доступным
192.168.1.161
192.168.1.162
или все, что два IP адреса у вас есть для машины]
CD / Главная / PI / mpi_testing
Mpiexec -F machinefile -N 2 ~ / mpich_build / примеры / ИПЦ
Выход есть
Процесс 0 из 2 находится на raspberrypi
Процессе 1 2 находится на raspberrypi
PI примерно +3,1415926544231318, погрешность +0,0000000008333387
Если вы повторите это во второй раз вам не нужно будет вводить никаких паролей дюйма ура.
Обратите внимание, что мы не изменили имена хостов пока нет (да так, выше, работает на двух машинах, но они оба имеют одинаковое имя на данный момент).
37.   Если вы измените имя хоста на второй машине (см. Приложение 1 "Имя хоста Скрипт") и запустите:
Mpiexec -F machinefile -N 2 ~ / mpich_build / примеры / ИПЦ
Выход:
Процесс 0 из 2 находится на raspberrypi
Процессе 1 2 находится на iridispi002
Теперь вы можете видеть каждый процесс, запущенный на отдельных узлах.

Поздравляем - у вас есть сейчас закончили строительство 2-узловой СУПЕРКОМПЬЮТЕР
Если вы будете следовать приведенным ниже инструкциям, вы можете расширить это 64 (или более) узлов

Благодарность

Спасибо всем авторам сообщений связан в настоящем руководстве, и Нико Маас. Спасибо команде в лаборатории: Ричард Бордман, Стивен Джонстон, Gereon Кайпинг ., Нил О'Брайен, Скотт и Марк . Также в страну Оз пергамент и Энди Эверетт (iSolutions) Благодаря Pavittar Басси в области финансов, который сделал все заказы на оборудование случиться так эффективно. И, конечно, профессор Кокс сын Джеймс, который предоставил поддержку специалистов на Lego и системное тестирование.

Приложение 1 - Сценарии и другие развлечения

Вспышка меня ... еще раз (прополоскать и повторить за каждый дополнительный узел)

1.       Выключите работника Pi и извлечения карты
Суда отключение питания
Теперь у нас есть копия работника узлов станка со всеми установленными файлами для MPI в одном месте. Теперь мы хотим, чтобы клонировать эту карту-так как он имеет SSH ключ на нем в нужном месте. Выключение вашего Pi очень тщательно
Суда отключение питания
2.       Извлекать карту и вставьте его обратно в записи на карту SD на ПК / другого устройства. Используйте Win32 диска Imager (или на Mac, например, Disk Utility / дд ), чтобы перевести изображение из вашей SD-карты на ваш компьютер:
Вы будете использовать "прочитанные", чтобы поместить изображение с диска на карту
Назовем изображения "2012-08-16-свистящих raspbian_backup_mpi_worker.img"

3.       Извлеките карту и положить свежую карту в машину. Использованием Win32 диска Imager поставить изображение на карту памяти SD (или на Mac, например, Disk Utility / дд )
Вы будете использовать кнопку "Записать", чтобы поместить изображение с диска на карту и выберите "2012-08-16-свистящих raspbian_backup_mpi_master.img" изображение, которое вы только что создали.
[Обратите внимание, что есть, вероятно, более эффективных способов сделать это - может быть, в частности, избежать расширения файловой системы . в пункте 4 первой секции]

Имя хоста сценария

Если вы хотите переименовать каждую машину, вы можете сделать это из главного узла с помощью:
SSH pi@192.168.1.162 ' Суда Эхо "iridispi002" | Суда рейка / и т.д. / хоста '
SSH pi@192.168.1.163 ' Суда Эхо "iridispi003" | Суда рейка / и т.д. / хоста '
SSH pi@192.168.1.164 ' Суда Эхо "iridispi004" | Суда рейка / и т.д. / хоста '

и т.д. .

Затем вы должны перезагрузить каждый работник узла

Если вы повторные шаг ( 36 ) выше снова, вы получите:
Mpiexec -F machinefile -N 2 ~ / mpich_build / примеры / ИПЦ
Выход:
Процесс 0 из 2 находится на raspberrypi
Процессе 1 2 находится на iridispi002
PI примерно +3,1415926544231318, погрешность +0,0000000008333387
Это показывает, главный узел до сих пор называют raspberrypi и первый рабочий называют iridispi002

Использование Python

Существуют различные привязки для Python MPI. Это руководство просто стремится показать, как получить один из них работает.
Sudo APT-получить установку Python-mpi4py

CD ~
MkDir mpi4py
CD mpi4py
$ Смол XFZ mpi4py-1.3.tar.gz
CD mpi4py-1.3/demo

3.       Повторите шаги 1 и 2 на каждом из других узлов (мы не испечь это в систему изображение)

4.       Запустить пример (на главном узле)
mpirun.openmpi - NP 2 - machinefile / Главная / PI / mpi_testing / machinefile Python helloworld.py

Выход есть:
Hello, World! Я процессу 0 из 2 на raspberrypi .
Hello, World! Я процессу 1 из 2 на iridispi002.

5.       mpiexec.openmpi -N 4 - machinefile / Главная / PI / mpi_testing / machinefile Python helloworld.py

Выход есть:
Hello, World! Я процессу 2 из 4 на raspberrypi .
Hello, World! Я процессу 3 из 4 на iridispi002.
Hello, World! Я процессу 1 из 4 на iridispi002.
Hello, World! Я процессу 0 из 4 на raspberrypi .

6.       Это удобно, чтобы удалить вещи, если ваши попытки получить mpi4py не совсем оправдались
Sudo APT-получить установку Python-mpi4py
Sudo APT-GET autoremove

Keygen команды сценария

Кошка ~ /. SSH / id_rsa.pub | SSH pi@192.168.1.161 ". кошки >> SSH / authorized_keys "
Кошка ~ /. SSH / id_rsa.pub | SSH pi@192.168.1.162 ". кошки >> SSH / authorized_keys "
Кошка ~ /. SSH / id_rsa.pub | SSH pi@192.168.1.163 ". кошки >> SSH / authorized_keys "
и т.д. . для отправки и обмен ключами, если вы хотите сделать это снова сформировав новый ключ

Получение Pip для Raspberry Pi


1.       Мы можем установить Пип, который дает нам хороший способ установить Python пакеты (и удалить их тоже). Подробнее находится на
CD ~
MkDir pip_testing
CD pip_testing
2.       Предпосылкой для пипса "распространять" так что давайте, что первый, а затем установить пункт. Суда в том, что установка этих имеет запускаются с правами администратора.
$ Локон http://python-distribute.org/distribute_setup.py | Суда Python

Примечания о внесении MPI разделяемые библиотеки для Raspberry Pi

MPI библиотеки могут быть построены "общим", так что они могут быть динамически загружен. Это дает библиотеке файл, который заканчивается на ". Так" и др. ".", И мы можем сделать это за счет строительства этих библиотек MPI снова. Это повторение шагов выше, но выписаны еще раз с помощью суффикса "_shared" на названия директорий.
1.       Создайте директорию поставить источники в
MkDir / home/pi/mpich2_shared
CD ~ / mpich2_shared
2.       Получить MPI источников Аргоннской.
[Обратите внимание, что в качестве источника обновления MPI, можно перейти к:
http://www.mpich.org/downloads/ , чтобы получить последнюю стабильную версию релиз]
3.       Распаковывать их.
$ смол XFZ mpich2-1.4.1p1.tar.gz
[Примечание: Вам нужно будет обновлять это как версия MPICH2 шагом]
4.       Сделайте себе место, чтобы поместить откомпилированные файлы - это также сделает его легче понять, что вы положили в новой в вашей системе.
Суда MkDir / Главная / rpimpi_shared /
Суда MkDir / Главная / rpimpi_shared / mpich2-install_shared
[Я просто выбрал " rpimpi_shared ", чтобы заменить" ты "в Аргоннской руководство, и я сделал создание каталогов в два этапа]
5.       Создайте каталог сборки (так мы сохраним исходный каталог чистые вещи сборки)
MkDir / Главная / PI / mpich_build_shared
6.       Перейдите в каталог BUILD
CD / Главная / PI / mpich_build_shared
7.       Теперь мы собираемся настроить построить
Суда / home/pi/mpich2_shared/mpich2-1.4.1p1/configure-префикс = / главная / rpimpi_shared / mpich2-install_shared - Enable-общий
[Примечание: Вам нужно будет обновлять это как версия MPICH2 шагом]
8.       Сделать файлы
Суда сделать
9.       Установите файлы
Sudo сделать установку
10.   Наконец, добавьте место, которое вы положили установите на свой путь
Экспорт $ PATH = $ PATH :/ Главная / rpimpi_shared / mpich2-install_shared/bin
Обратите внимание, чтобы навсегда положить это на путь, который вы должны будете отредактировать. Профиль
нано ~ /. профиль
... и добавить в нижней следующие две строки:
Добавить MPI Общий путь
PATH = "$ PATH :/ Главная / rpimpi_shared / mpich2-install_shared/bin " 


Пару фоток когда она была закончена
(Файл ниже: Гленн Харрис 2012)
Описание: H: \ raspberry_pi \ press_releaseSept2012 \ DSC_0030.JPG





Популярные сообщения