18th 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 SBAC/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 all 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.

Remote Teams should use their own PC to test and measure the solutions. Unfortunately, the Marathon cannot lend a PC to each competitor or Team.

For Local Teams, a substitute member can be indicated, and one substitution will be allowed during the marathon - just before the Contest.

Each Local Team must bring their own device. Despite this, they will have 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 or CUDA) will be provided on the target machine.

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 issue 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.

The following procedure will be used to break standings ties when the difference of two final scores is less than 1.0: (i) the number of solved problems that has more than 1.5 speedup; (ii) the sum of all submission time used at the score (the smaller the better); (iii) the scalability of the solutions on the full target machine (the organizers will run and measure all the accepted parallel solutions on the whole target machine).

Terms & Conditions

The Organizers reserve the right to cancel, postpone, relocate or change the 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 12 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.