===== Запуск приложений на суперкомпьютере "Сергей Королёв" ===== ==== Удалённый доступ ==== Удаленный доступ на кластеры, возможен только с 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]]