Accelerate Your Code (français)

/sites/default/files/m/e/e/3/bannieresite1.png

degb 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 !

Du 16 avril  au 16 mai 2012

Le concours Accelerate Your Code est un concours de développement parallèle ouvert à tous les étudiants en Europe, en Afrique & en Russie.
Des participants par équipe de 2 ou en individuel , 1 problème de programmation à résoudre, des Ultrabooks et des disques durs SSD à gagner. That's it !
Les règles sont simples : un problème est posé par un ingénieur Intel spécialisé en programmation parallèle. Il se présente sous la forme de données qui seront fournies en entrée, et de ce que devra être le résultat à la sortie du code. La rapidité du code et son optimisation parallèle seront bien entendu les critères de notation des applications. Pour tester le code en environnement réel, les applications seront lancées par nos ingénieurs sur un cluster Intel.
Au travers des forums, des emails, mais aussi de session chat en direct, les ingénieurs Intel feront le maximum pour répondre à vos questions le plus rapidement possible.
Afin d'inciter les étudiants à partager leurs expériences, les participants les plus actifs à la communauté au travers des forums, blogs, articles, etc. se verront recompensés de disques durs SSD, à la discréation des spécialistes Intel.
Tout le monde peut s'inscrire, et cela jusqu'à la veille de la remise des codes du problème. Le but du jeu est autant de faire découvrir la programmation parallèle aux débutants que de faire progresser les personnes déjà aguerris. Ne soyez donc pas timides et rejoignez nous !
    Pour s'inscrire rendez vous sur la page "Inscription' . Il faut préalablement s'être inscris sur l'Intel Developer Zone pour le(s)  étudiants. Un professeur peut apporter son soutien à ses équipes. N'oubliez donc pas de  mentionner si un professeur est inclus dans l'opération. Un étudiant ne peut faire partie que d'une seule équipe.
      Professeurs, faites participer vos classes entières !

      En effet, une procédure spéciale est prévue afin de permettre à des classes entières de participer. Le professeur pourra recevoir des rapports sur l'exécution du code de ses élèves, des lots spéciaux pour sa classe, des outils, etc.
      N'hésitez pas à nous contacter à ISNFrance@intel.com pour plus d'informations.
      Le concours est aussi une opportunité professionnelle : cette année les personnes en charge du recrutement chez Intel sont partenaires de l'événement. Si vous le souhaitez, votre CV pourra être analysé par nos recruteurs afin de vous présenter les opportunités disponibles, que ce soit un stage ou un emploi. Montrez nous donc ce dont vous êtes capables !

      Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.