Информация

Конкурс проводится при помощи разработанной в лаборатории DISLab автоматической системы HPCjudge, которая позволяет быстро получить ssh-доступ на вычислительные ресурсы, протестировать решение на корректность, оценить производительность, а также отправить с кластера или вычислительного узла полученный результат в общую таблицу результатов конкурса.

Автоматическая система начнет работать одновременно со стартом конкурса.

Регистрация и профиль

Для того, чтобы принять участие в конкурсе GraphHPC, участник должен зарегистрироваться и заполнить профиль. После этого участник может запрашивать ssh-доступ на предоставляемые вычислительные ресурсы или отправлять результаты, полученные на других HPC-системах (вне конкурса).

Для регистрации на сайте необходимо ввести адрес электронной почты, которая потом будет использоваться для дальнейшего взаимодействия.

При заполнении профиля необходимо ввести фамилию, имя и отчество, название организации (место учебы или работы), должность на месте работы или указать, например, «студент», «аспирант». Номер мобильного телефона необходим для связи в экстренных случаях и служит скорее демонстрацией добрых намерений участника конкурса. В случае необходимости получить ssh-доступ на предоставляемые вычислительные ресурсы нужно ввести желаемый логин и открытый ключ, который будет использоваться для ssh-доступа. Ssh-доступ осуществляется только по ключу, пароли использоваться не будут. Доступны инструкции по созданию ключей для Windows и Linux. Большинство полей необходимо заполнить на двух языках, если английский вариант не будет заполнен, будет произведена транслитерация.

Профиль нельзя будет изменить после того, как будет произведен запрос на ssh-доступ. Изменения возможны только при помощи Организационного комитета, просьба писать по адресу contest@dislab.org.

SSH-доступ

  • 36-узловой кластер "Ангара-К1", узлы которого объединены сетью Ангара с топологией 3D-тор. Характеристики вычислительного узла: 2x Intel Xeon E5-2630 (всего 12 ядер, 24 аппаратных потока), 64 ГБ памяти.

После того, как профиль заполнен, можно отправлять запрос ssh-доступа. По предоставленной в профиле информации организаторы принимают решение о предоставлении ssh-доступа. Организаторы оставляют за собой право отказать в ssh-доступе, если возникают сомнения о правдивости предоставленной информации. Решение о предоставлении ssh-доступа принимается как можно быстрее, однако возможны технические задержки.

Работа на кластере

Работа на кластере организована при помощи главного узла head, на который участники попадают при помощи ssh извне. Участники конкурса должны выполнять все действия по сборке и отправке решений на управляющем узле head.

Программное обеспечение

На кластере установлено следующее программное обеспечение:

  • Компилятор gcc 4.8.5.
  • MPICH 3.0.4.
  • Очередь заданий slurm.

Инструкция по работе для отладки решений

  1. Компиляция и сборка. Необходимо использовать mpicxx.

  2. Запуск решений для отладки необходимо производить только с помощью очереди заданий slurm.

    a) Первый способ. Команда для запуска отладки решений в интерактивном режиме (вывод результата в консоль):

    srun -p contest -N <количество узлов> \
         --ntasks-per-node=<количество процессов на узел> \
         <исполняемый файл> <аргументы программы>
    

    Например:

    srun -p contest -N 2 --ntasks-per-node=4 \
        ./solution_mpi -in random-s6-k4-tbs4 -blackhole_size 4 
    

    b) Второй способ. Для отладки решений можно ставить задачи в очередь:

    sbatch -p contest -o <файл вывода> \
           -t <время в минутах> -J <имя задачи> \
           --wrap "<исполняемый файл> <аргументы программы>"
    

    Например:

    sbatch -p contest -N 8 --ntasks-per-node=8 --wrap="./batch <параметры программы>"
    

    Посмотреть задачи в очереди:

    squeue
    

    Завершить задачу в очереди:

    scancel <идентификатор задачи>
    

    Подробнее о работе на кластере можно прочитать на странице, посвященной кластеру "Ангара-К1".

Отправка решения в общую таблицу результатов конкурса

Чтобы отправить решение в таблицу результатов конкурса, необходимо воспользоваться скриптом для отправки.

GraphHPC-submit \
    --path <your solution directory full path> \
    --ntasks-per-node <processes per node>

Скрипт отправляет на тестирование файлы solution_mpi.cpp, Makefile и batch, находящиеся в директории path. Файлы больше 150 КБ будут исключены из отправки. В Makefile можно править ключи компиляции. Скрипт batch нужен для настройки переменных окружения, ключей srun. Сначала решение будет отправлено на сайт конкурса и появится в отправках участниках, затем будет произведено автоматическое тестрование для расчета рейтинга решения, что будет отображаться в отправках.

Тестирование будет произведено на секретных графах. Количество отправок в день будет ограничено.

Вопросы

Если у вас возникли какие-то вопросы, просьба писать по адресу contest@dislab.org.