14th Marathon of Parallel Programming

Current Edition

Click here for the current edition of the Marathon of Parallel Programming



There are two categories of teams: Local and Remote.

Teams that want to compete for the prize must attend WSCAD conference and register for the Local Contest. They are called Local Teams.

Teams that want to participate in the Marathon and will not attend WSCAD must register for the Remote Contest. They are called Remote Teams.

If there are any special rules for a category, it will be identified. Otherwise, all the rules apply for Teams and Contests of both Categories.

Both Contests will run at the same time (see here).


The Marathon is open to Teams that comprise up to three (3) student members, who must be undergraduate or graduate students, and a coach.

For Local Teams, a substitute member can be indicated, and one substitution will be allowed during the marathon - just before the Local Contest. Up to 6 teams will be enrolled in the Local Contest. Each Local Team will have only a PC for the whole duration of the Marathon, and access to a parallel machine to test and measure their solutions. This environment should be tested in Warmup session. Reference books and hard-copy materials will be allowed during the contest, and it is up to the teams to bring them.


An independent committee will specify a set of problems. Each one consists of an informal explanation of the problem to be solved, the input and output formats and a sequential implementation.


Classical HPC libraries and tools (OpenMP, MPI, POSIX Threads), as well as sequential tools for profiling, compiling and debugging, will be provided on the target machine. Only Local Teams can access some of them (e.g. profiling tools).

An important remark is that speedup is the real target and any technique that can accelerate the code will be allowed.


All Teams will access an Online Contest System: a modified version of BOCA. Submissions, clarifications, problems or any problem during the contest must be reported through this system.

Judges will inspect all submissions and any team will be disqualified for any unfair and/or fraudulent submission. Also, any suspicious, malicious or plagiarism code declassifies the Team.

A submission is a compressed file with your source code, the Makefile, and an execution script. This script must have the name of the problem with capital letters (e.g. A). You can submit as many solutions to a problem as you want.


In order to take a submission into account, its output should be correct, which means that it should have the same results compared to sequential outputs.

The acceleration of each submission will be measured as follows: the execution time for a solution will be divided by the execution time for the sequential implementation provided by the organization. A solution will be measured three times and the meantime will be its final speedup. Any sequential optimization prior to the parallelization will be a bonus. The speedup of all problems parallelized by a Team will be added, so that the more (efficient) parallel programs it gets, the better the score. Only the last submission of a problem will be taken into account for the score.

In case of tie on Remote Contest, the submission time will be used to a tiebreak.

In the case of a tie on the Local Contest, the scalability of the solutions will be measured to choose the best team, as follows: the organizers will run the parallel solutions on the whole target machine and measure the new accelerations, adding them up as in the former case. The winner will be the team that obtains the best acceleration on the full machine.

Terms & Conditions

The Organizers reserve the right to cancel, postpone, relocate or change the Remote Contest at any time due to unforeseen circumstances, sovereign laws and regulations, without notice or compensation. They also cannot assume liability for any changes in the program due to external or unforeseen circumstances.

Only the Organizers will process the data concern to both Contests (registration forms, submissions, solutions, source-code, online system information, passwords or any other related data). For the purpose of social media, we will be processing your personal data, including any additional information you may subsequently provide to us, for the purposes of contacting or communicating with you, to respond to your posts, submissions, comments, requests, inquiries or complaints, to request feedback from you, assessing your application to register for the use or subscription, administer your participation in contests, conduct internal activities and any other purposes as may be related to the foregoing and/or as set out in the contest websites, e-mail lists and any other social media sites.

Any and all issues with judging and scoring during the Marathon shall be resolved solely by the Judges and Committee. Teams may not appeal to any other party. Only the Coach can send an issue to the Committee within 24 hours after the end of the contest.

Should there arise any conflict related to the Marathon, the Committee decision shall be considered final and binding.

The Committee may disqualify a Team in the event of a serious breach of rules or fair play.

Any additional questions that arise will be provided on the Marathon website. If you have questions, contact the Committee.

The Organizers shall resolve any other unforeseen circumstances and cases.

Organized by
Better seen in Mozilla Firefox.