1 Использование вычислительного кластера Кемеровского государственного университета Кафеда ЮНЕСКО по НИТ
2 Конфигурация кластера КемГУ 9 вычислительных узлов (4-старых, 5- новых) и 1 управляющий по 2 процессора Intel Xeon 5410 (2.33 Ггц) в каждом из 4 старых узлов по 2 процессора Intel Xeon 5630 (2.53Ггц) в каждом из 5 новых узлов по 4 ядра в каждом процессоре по 8 Гб памяти в каждом из 4 старых узлов по 24 Гб памяти в каждом из 5 новых узлов Gigabit Ethernet - управляющая сеть, Infiniband – вычислительная сеть 1,5 Тб дискового пространства операционная система Linux CentOS Кафеда ЮНЕСКО по НИТ
3 Сайт поддержки пользователей кластера (icp.kemsu.ru/CKP) Данная презентация Бланк заявки на регистрацию пользователя Правила работы с вычислительным кластером КемГУ Полезные программы Учебные материалы (ссылки на литературу и интернет-ресурсы) Памятка пользователю Раздел «Университетский кластер» Кафеда ЮНЕСКО по НИТ
4 Порядок предоставления доступа к кластеру КемГУ 1.Ознакомиться с правилами для пользователей вычислительного кластера Кемеровского государственного университета 2.Заполнить бланк заявки и отнести на подпись проректору по информатизации КемГУ д.ф.-м.н. Афанасьеву К.Е. 3. Получить логин и пароль учетной записи у Власенко А.Ю. (2140 каб.) Кафеда ЮНЕСКО по НИТ
5 MPI на кластере КемГУ Существует единственный стандарт MPI: report.pdf И множество реализаций стандарта (MPI Chameleon, Open MPI, MVAPICH, Intel MPI, HP MPI, Microsoft MPI и др.), которые содержат библиотеки функций и набор утилит и скриптов. На кластере КемГУ: MVAPICH2-1.6 rocks-openmpi Кафеда ЮНЕСКО по НИТ
6 Программирование для кластерной вычислительной системы OpenMP – стандарт де-факто при программировании многопроцессорных (многоядерных) систем с общей памятью. С его помощью можно загрузить 8 ядер на одном узле UPC (Unified Parallel C) – подходит для программирования как систем с общей, так и с распределенной памятью. 1.Tarek El-Ghazawi, William Carlson, Thomas Sterling, Katherine Yelick: «UPC: Distributed Shared Memory Programming» Кафеда ЮНЕСКО по НИТ
7 Вход на кластер Необходимо осуществить ssh-соединение (Secure Shell). Для этого требуется ssh-клиент. Один из самых популярных и удобных клиентов – Putty Кафеда ЮНЕСКО по НИТ
8 Ввод IP-адреса или master.kemsu.ru Кафеда ЮНЕСКО по НИТ
9 Выбор кодировки Translation UTF-8 Кафеда ЮНЕСКО по НИТ
10 Ввод логина Вместо vlas свой логин Ввод пароля При вводе пароль не отображается Кафеда ЮНЕСКО по НИТ
11 Командная строка Приглашение командной строки в ОС Linux. Материалы по ОС Linux: Кафеда ЮНЕСКО по НИТ
12 Файловый менеджер Midnight Commander Вызов файлового менеджера Midnight Commander (mc) Кафеда ЮНЕСКО по НИТ
13 Копирование файлов на кластер / с кластера Используем программу WinSCP Кафеда ЮНЕСКО по НИТ
14 Копирование файлов на кластер / с кластера или master.kemsu.ru Кафеда ЮНЕСКО по НИТ
15 Копирование файлов на кластер / с кластера Скопировать папку programs_for_study в домашнюю директорию. Кафеда ЮНЕСКО по НИТ
16 Переименование/перемещениефайлов Переименование/перемещение файлов 1.В Midnight commander нажать комбинацию Ctrl+O 2.mv pbsjob1_vlas pbsjob1_stud{i} 3.Кнопку «вверх» - появится предыдущая набранная строка 4.mv pbsjob2_vlas pbsjob2_stud{i} 5.Кнопку «вверх» - появится предыдущая набранная строка 6.mv pbsjob3_vlas pbsjob3_stud{i} 7.Кнопку «вверх» - появится предыдущая набранная строка 8.mv pbsjob4_vlas pbsjob4_stud{i} 9.ls – выводит содержимое каталога 10.Ctrl + O – возврат в mc Кафеда ЮНЕСКО по НИТ
17 Написание исходного кода программы touch program.cpp – создает файл с названием program.cpp Кафеда ЮНЕСКО по НИТ
18 Написание исходного кода программы Щелчком по кнопке F4 на имени файла program.cpp открываем его в режиме редактирования и набираем текст программы. Кафеда ЮНЕСКО по НИТ
19 Пакет Rocks rocks run host command – выполнение команды command на всех узлах Пример: rocks run host hostname | sort ROCKS- пакет развертывания, управления и поддержки кластера.
20 Выбор MPI-реализации Для этого необходимо воспользоваться утилитой mpi-selector mpi-selector --list (список всех установленных MPI- реализаций) mpi-selector --query (текущая MPI-реализация) Кафеда ЮНЕСКО по НИТ
21 Выбор MPI-реализации mpi-selector --set mvapich2-1.6 (выбор другой MPI-реализации). После этого необходимо завершить сеанс и открыть новый. mpi-selector --query Кафеда ЮНЕСКО по НИТ
22 Компиляция MPI-программы на C mpiicc c_mpi_prog.cpp –o c_mpi_prog.out (при помощи Intel Compiler) или mpicxx c_mpi_prog.cpp –o c_mpi_prog.out (при помощи gcc) Кафеда ЮНЕСКО по НИТ Компиляция MPI-программы на Fortran mpiifort fortran_mpi_prog.f –o fortran_mpi_prog.out Или mpif90 fortran_mpi_prog.f –o fortran_mpi_prog.out
23 Создание скрипта запуска для MPI- программы (Intel MPI) pbsjob1 #PBS -l walltime=00:01:00,nodes=3:ppn=1 #PBS -q #PBS -N Ivanov_job1 #PBS -o /home/student/Ivanov/out.txt #PBS -e /home/student/Ivanov/err.txt #!/bin/sh /opt/intel/impi/ /intel64/bin/mpirun –n 3 /home/student/Ivanov/mpi_prog.out где walltime– предполагаемое время выполнения, nodes- число вычислительных узлов, ppn – число процессорных ядер на каждом узле. #PBS -q - Имя сервера и очереди #PBS -N job_name - имя задания #PBS -o /home/tester/out.txt– указание пути для записи файла потока вывода #PBS -o /home/tester/err.txt – указание пути для записи файла потока ошибок #!/bin/sh – командный интерпретатор mpirun– команда запуска MPI-приложения Кафеда ЮНЕСКО по НИТ
24 Постановка задачи в очередь [ ~]$ qsub pbsjob1 Отслеживание состояния задачи в очереди [ ~]$ qstat [ ~]$ qstat –an [ ~]$ showq Кафеда ЮНЕСКО по НИТ
25 Файлы с результатами работы Файл результатов (поток stdout): /home/student/Ivanov/out.txt Файл с ошибками (поток stderr): /home/student/Ivanov//err.txt Кафеда ЮНЕСКО по НИТ