Користење на GPGPU кластерот

Процес

Пристап и најава

  1. Генерирајте SSH клуч или користете го постоечкиот SSH клуч
  2. Најавете се на https://osc-lab.finki.ukim.mk/ и во вашиот профил додадете го вашиот SSH клуч
  3. Ќе добиете информации за корисничкото име создадено на кластерот GPGPU.
  4. Поврзете се со услугата EDUVPN за OpenLab
  5. Користете SSH клиент за да се најавите на адресата 10.10.65.6 (преден јазол на кластерот GPU) користејќи клуч ssh
    • ssh -i <PATH_TO_PRIVATE_KEY> USERNAME@10.10.65.6

Избор на docker image

Најлесен начин да се изврши кодот на GPGPU е користење на докеризирана верзија на софтверот/библиотеките на кои се базира вашиот код. Ние користиме каталог NVIDIA NGC како извор на докер слики со претходно инсталиран софтвер/библиотеки/модели што ги користиме во нашиот код.
На пример, ако нашиот код тренира модел користејќи библиотека базирана на pytorch, можеме да ја користиме следнава докер-слика (замени XX.XX со потребната верзија достапна на NGC):

Пр.:

Подготовка на кодови и сетови на податоци

Во вашиот домашен директориум /home/hpc/users/ креирајте директориум со код кој ќе ги содржи кодот, податоците и датотеката за задачата (job.sh).
Директориумот за код, податоци и резултати ќе биде поврзан со вашиот контејнер за singularity

—JOB_FOLDER_NAME
   —Dockerfile (**опционално)
   — job.sh
 —code
   —data
—results
   — …
 

Следниве чекори треба да се извршат од овој директориум

Создавање на контејнери за кодови

Singularity е платформа за контејнеризација која овозможува водење контејнери кои содржат различни парчиња софтвер на пренослив и репродуктивен начин. Singularity како платформа беше создадена за да овозможи извршување на сложени апликации на HPC системи преку фаворизирање на интеграцијата наместо изолацијата и со тоа олеснување на користењето на единиците на графичкиот процесор, системите за податоци на кластери итн.
Контејнерите кои се креирани во платформата за сингуларност се датотеки со екстензија .sif.

Создавање на контејнери за кодови – чекор прв

Ако треба да инсталирате дополнителни библиотеки или пакети (покрај она што е инсталирано на сликата што ја преземате од каталогот NVIDIA NGC), треба да креирате Dockerfile во вашиот директориум за експерименти.
Содржината на Dockerfile треба да биде како што следува:

Откако ќе бидеме подготвени со Dockerfile, треба да создадеме нов image

Пр.

Создавање на контејнери за кодови – чекор втор

Ако не треба да инсталирате дополнителни библиотеки или пакети (освен она што е инсталирано на сликата што ќе ја преземете од каталогот NVIDIA NGC), продолжувате директно со креирање на сликата sif со следните команди:

DOCKER_IMAGE_NAME може да биде името на сликата преземена од NVIDIA NGC или името на сликата создадена од вас со извршување на датотеката Dockerfile.
ARCHIVED_DOCKER_IMAGE_NAME и SIF_IMAGE_NAME се избрани од вас и може да се однесуваат на библиотеката/моделот што го користите.

Создавање скрипта за работа

Во истиот директориум што се однесува на вашиот експеримент/работа, додадете shell скрипта со име job.sh.
Содржината на скриптата:

Создавање на работа

Забелешки и насоки за кодот

Извршување на работа

Работите се извршуваат целосно идентично на веќе постоечката лоша (инструкции достапни овде).

Командата sbatch ја поставува задачата во редица.

Работен статус

  • squeue (проверка на статусот на сите работите во редица)
  • sinfo (проверка на статусот на јазлите и партициите во кластерот)
  • scancel (запрете ја задачата (или повеќе задачи), со дефинирање на id)
  • sacct (информации за завршените и тековните задачи, како и за корисниците кои ги започнале)
  • sstat (податоци за тековните задачи и кориснички информации)