cluster:запуск_приложений_на_кластере
                Это старая версия документа!
Содержание
Запуск приложений на суперкомпьютере "Сергей Королёв"
Удалённый доступ
Удаленный доступ на кластеры, возможен только с ip адресов корпоративной сети СГАУ и ip-адресов, которые были указаны в заявке на регистрацию пользователя. Самое простое - использовать какую-нибудь промежуточную машину и войти на неё, а с неё на кластер.
ssh <username>@sk.ssau.ru
Передача файлов
scp <local_file> sk.ssau.ru:/home/<username>/
Пример запуска параллельного приложения на одной ноде
#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
Для запуска в пакетной системе напишем командный файл
#!/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/запуск_приложений_на_кластере.1377887977.txt.gz · Последнее изменение: 2013/08/30 18:39 (внешнее изменение)