The GraphHPC contest is using an automatic contest system developed by DISLab, which makes it easy to obtain ssh access to the provided testing systems, verify implementations, evaluate performance, and submit results to the GraphHPC contest performance list.

Signing up and profile

To participate in the GraphHPC contest users have to register in the system and create a profile. Then contestants can request ssh access to the provided testing systems and submit their results on the other systems.

To sign up a valid email address is required which will be used for all further communication with the GraphHPC contest organizational comitee.

A profile consists of contestant's first name, last name, organization (enterprise or academic), position (student, scientist, etc.) and phone number. The phone number will be used in emergency cases only: to verify the identity (if necessary) or contact the contestant if some malicious activity is detected under his/her account. In order to gain access to the constest hardware resources a login and a public key has to be provided (we do not allow password-based access).

The profile can not be modified after the ssh access has been granted to the user. All subsequent profile modifications can be made only via a direct request to the GraphHPC contest organizational committee.

SSH access

The configuration of the system is following:

  • Computational Node consisting of x2 Intel Xeon E5-2683 v3 2.0 GHz (HT-enabled), NVIDIA GPU K20x (ECC is disabled), 128GB of DDR3 DRAM.

After the profile is created a request for ssh access can be sent. After a review of provided registration information the GraphHPC Organizing Committee makes decision on granting the ssh access to the testing resources. The Committee has a right to refuse in ssh access to the testing resources in case any doubts about truthfulness of provided information have been raised. The requests are processed as fast as possible.

Using the testing hardware resources

Please, use graphs stored at:


The following software is installed:

  • icc 16.0.1
  • gcc 4.8.3
  • OpenMPI 1.8.4
  • CUDA Toolkit 7.5
  • slurm.

Compiling and running programs on the cluster-system

  1. Build your program using mpicc, gcc, etc.

  2. Run you program using slurm. It is prohibited to use any methods to run user programs other than slurm (mpirun, etc.) Run user application (task):

        -o <filename for stdout>
        -t <requested time in minutes>
        -J <job name>
        --wrap "<executable> <arguments>"

    Show slurm queue contents (tasks to run):

    squeue -u $USER

    Cancel task:

    scancel <task id>

Submitting results

For convenient submission of the results to the GraphHPC contest list several scripts are provided. GraphHPC-submit-single and GraphHPC-submit-hybrid scripts run task on the single x86 node and single x86 node with GPU correspondingly, perform validation of the obtained decision and submits performance results to the list. Options of these scripts are shown below:

    --path [path]

    --path [path]

These scripts assign specified folder containing the submitting solution. The folder has to contain source code and Makefile for building of the executable. It is considered that all files included into this folder are part of the solution except .o files, .svn and t folders. Files greater than 150KB will be excluded automatically.

Requirements to solutions

  1. Executable file must be named community.
  2. The last line of the output has to be in the following format:

    avg_time: <average time> modularity: <average modularity> 

The solution will be sent to the GraphHPC contest site and will appear in the list of the submitted tasks of the contestant. It will be checked for correctness and performance automatically and the results will appear on the user submissions page as well as in the results table on the main page.


If you have any questions, please feel free to contact: