Accelerate Your Code 2012

de   gb   fr   ru

Winners are announced here !

The goal of the contest is to optimize and parallelize a reference algorithm and code.

The criteria : execution time (on various single memory machines/inputs/conditions)

Code, example input and expected output are provided : here. Code is the reference, but to make it easier for you to understand the code, here is an explanation :

Problem : Compare 1 reference sequence (in a file) with a variable number of sequences (from 1 or more files).

Sequences are composed from 4 characters : A,T,C,G.

Comparison : Find substrings of >= N characters matching exactly.

Parameters :

  • maximum number of worker threads to use.
  • minimum matching size (N).
  • reference sequence file (one sequence - one file)
  • following arguments : sequence files to compare (one or more sequences per file)

Example : ./run 24 16 refseq.txt input.txt

See output.txt for an example of an expected output.

Important : Result has to be exactly the same as this reference code for any set of input-output-parameters. More input-output files will be posted on the contest page later to help you test your code.

Testing and benchmarking : You should have received an email regarding the procedure of upload and testing.

Advices : Advices : Think parallelism on a lot of cores, think potential for execution time acceleration, use efficient data structures, not only algorithmic tricks.

Tips : For top performance, check vectorization and STTNI instructions in SSE4.2

You still can register after the beginning of the contest !

From 16th of April to 16th of May 2012

The rules are easy : a problem is designed by one of our best software engineers specialized in parallel programming. It will be delivered with Input data and the expected output. The speed of the code and its scalability will be the biggest rating criteria. To test the code in a real work environnement, the code will be tested on an Intel cluster, after which you will get a full report(performance & problems) about your work.

In order to encourage the students to share their experience, the most active participants on the forums, blogs, articles etc. will win some SSD drives, at the Intel's specialists discretion.

Student participation

All students in Europe, the Middle East, Africa and Russia can participate. The goal is for beginners to discover parallel programming, not for hard core specialists to show their skills, so don't be shy and participate ! You can participate alone, or a team of 2 people. A CS teacher or experienced developer can help you if needed. To register, go on the registration page. A student can only be in one team. Both students should have an Intel® Developer Zone account >  register with Intel® Developer Zone

Entire class participation

Professors can enroll their entire class in the contest, trough a special method. Special prizes, reporting tools, grading system etc. can be dedicated to special classes. Please contact us for more information about this (paul.guermonprez@intel.com).

A very good professional opportunity.

We are aware that some very good developpers will participate to that contest, and as Intel always needs new talents like you, some of the Intel recruiters will work with us in order to offer you the best visibility inside the company and what Intel has to offer. Please see this page in order to know more about it.

You'll probably need to learn the basics of parallel programming to solve our parallel problem : we recommend you watch our video course.

You also want to check our Academic program's website on intel-software-academic-program.com, where you will be able to find free content on parallel prgramming, etc.

Download for free our non-commercial tools, with which you will be able to develop, debug, and improve your code.

 

Participate, you'll have fun learning something useful !

如需更全面地了解编译器优化,请参阅优化注意事项