cluster:запуск_приложений_на_кластере
Содержание
Запуск приложений на суперкомпьютере "Сергей Королёв"
Удалённый доступ
Удаленный доступ на кластеры, возможен только с ip адресов корпоративной сети СГАУ и ip-адресов, которые были указаны в заявке на регистрацию пользователя. Самое простое - использовать какую-нибудь промежуточную машину и войти на неё, а с неё на кластер.
ssh <username>@sk.ssau.ru
Передача файлов
scp <local_file> sk.ssau.ru:/home/<username>/
Пример запуска параллельного приложения на одной ноде
- test.c
#include <omp.h> #include <stdio.h> #include <stdlib.h> int main (int argc, char *argv[]) { int th_id, nthreads; #pragma omp parallel private(th_id) { th_id = omp_get_thread_num(); printf("Hello World from thread %d\n", th_id); #pragma omp barrier if ( th_id == 0 ) { nthreads = omp_get_num_threads(); printf("There are %d threads\n",nthreads); } } return EXIT_SUCCESS; }
Собираем:
gcc -fopenmp test.c -o test
Тестируем (НИКОГДА НЕ ДЕЛАЙТЕ ТАК!!!):
$ ./test Hello World from thread 15 Hello World from thread 2 Hello World from thread 5 Hello World from thread 14 Hello World from thread 9 Hello World from thread 6 Hello World from thread 1 Hello World from thread 0 Hello World from thread 13 Hello World from thread 11 Hello World from thread 8 Hello World from thread 12 Hello World from thread 3 Hello World from thread 10 Hello World from thread 4 Hello World from thread 7 There are 16 threads
Для запуска в пакетной системе напишем командный файл
- myjob.pbs
#!/bin/bash #PBS -N myjob #PBS -l walltime=10:00:00 #PBS -l nodes=1:ppn=8 #PBS -j oe cd $PBS_O_WORKDIR ./test
Добавляем в очередь(пример):
[user@mgt1 ~]$ qsub myjob.pbs 1234.mgt1
Смотрим прогресс выполнения:
[user@mgt1 ~]$qstat -a mgt1: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time -------------------- ----------- -------- ---------------- ------ ----- ------ ------ ----- - ----- 42659.mgt1 popov batch Mesh3300_mesh330 -- 4 48 -- 12:00 Q -- 1234.mgt1 user batch myjob 3456 1 8 -- 00:00 C 00:00
Завершено. Смотрим вывод:
[user@mgt1 ~]$ cat myjob.o1234 ./test: error while loading shared libraries: libgomp.so.1: cannot open shared object file: No such file or directory ============ Begin epilogue script ============= ssh to: n134 and cleanup /tmp dir ============ End epilogue script ============= ============ Begin epilogue script ============= ssh to: n134 and cleanup /tmp dir ============ End epilogue script =============
Пример запуск приложения на нескольких нодах
TODO
Ссылки
cluster/запуск_приложений_на_кластере.txt · Последнее изменение: 2013/08/30 18:50 — artamonov