===== Запуск приложений на суперкомпьютере "Сергей Королёв" =====
==== Удалённый доступ ====
Удаленный доступ на кластеры, возможен только с ip адресов корпоративной сети СГАУ и ip-адресов, которые были указаны в заявке на регистрацию пользователя.
Самое простое - использовать какую-нибудь промежуточную машину и войти на неё, а с неё на кластер.
ssh @sk.ssau.ru
==== Передача файлов ====
scp sk.ssau.ru:/home//
==== Пример запуска параллельного приложения на одной ноде ====
#include
#include
#include
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
Для запуска в пакетной системе напишем командный файл
#!/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
==== Ссылки ====
* [[http://hpc.ssau.ru/node/22|Работа на кластере "Сергей королев"]]
* [[http://hpc.ssau.ru/node/20|Удаленный вход на кластеры]]
* [[https://wikis.nyu.edu/display/NYUHPC/Tutorial+-+Submitting+a+job+using+qsub|Submitting a job using qsub]]