PASCO 2010 Programming Contest

    Join the computer algebra parallel programming contest organized by PASCO 2010 at Grenoble - France on 21st July – 23rd July 2010. Be prepared to face other participants in real time.

    Participation to the contest is open to people having background in computer algebra or parallel computing.

    This year the PASCO 2010 Challenges are composed of fundamental problems arising in computer algebra and providing rich opportunities for high performance computing. The goal is to solve in parallel one (or several) of those problems. Participants are welcome to propose their own challenge, which would be added to the current challenge list, upon acceptation by the organizing committee. The current challenge list consists of the following two problems : 

  1. GCD of univariate polynomials with integer coefficients. Both sparse and dense polynomial benchmarks will be used.

  2. Multiplying dense matrices with very large integer coefficient.

    Precise problem definitions and precise specifications of the input/output will be posted shortly. A sequential reference C++ source code along with some benchmark problems will also be made available.

Rules of the game

   Basically, the rule of the game is to solve as many instances with your code as possible. You can use any software (source code should be read and tested by the organizing committee), any algorithm and any kind of platforms in the following list.

  • NUMA machine. 16 cores, 8 AMD Opteron processors, 30GBytes of memory.

  • Cluster with NVidia cards. 8 nodes, 2 quad core Intel Nehlam processors with  one NVidia card per node.

  • Cluster of  106 nodes, 848 cores (dual Nehlam quad core processors).

Up to date details of the hardware can be found here.

    Each team will have an exclusive access to the machine during several time slots (1 hour each). During each time slot, the team has to solve several instances of the selected problem. Each solved instance will bring back points. For a given problem, the grade will depend on the following points (sorted by order of importance):

  1. Team A solves an instance larger than one solved by team B, faster.

  2. Team A solves more instances than team B.

  3. Team A is able to run its code on more different architectures than team B.

  4. Team A provide a more elegant code than team B.

   Condition 4. is subjective and the decision will be made by the organizing committee by looking at the parallel part of the code : the number of lines of source code, readability, etc.

    For each problems, the rank of each participating team will be presented at the end of the event. The top 3 teams will make a short presentation about their codes, algorithms and parallelizations.


    To participate to the programming contest, please send a letter of participation intent to the organizing committee by sending an e-mail to, with:

  1. The name of the team and the contact information (name, email address, institution or company) of each team member willing to participate to the PASCO 2010 programming contest;

  2. The name of the contact person (interlocutor and team representative);

  3. The problem(s) for which you will be competing.


    Shortly after receiving your letter of participation intent, the organizing committee will contact you in order to confirm your participation. Note that we do not accept remote participation during the PASCO 2010 programming contest.


    To prepare for the contest before the PASCO 2010 meeting, we will be given access to some machine used for the programming contest such that you can test the environment and install your software. This access will be strictly limited to this purpose only and we reserve the rights to interrupt your access to our machines at any time.