concours Acceler8 début 2011

 

http://software.intel.com/file/33761/

Concours Terminé

VOIR ICI les gagnants  + les solutions :

Gagnants  + solutions Accceler8 early 2011



Le concours Acceler'8 est un concours de développement parallèle ouvert à tous les étudiants.
Des équipes de 2 étudiants + 1 professeur, 2 phases avec pour chacune 1 problème de programmation à résoudre, des ordinateurs à 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 le Intel Many Core Lab, une machine 32 coeurs.

Inscription

Tout le monde peut s'inscrire, et cela jusqu'à la veille de la remise des codes de chaque problème. Il ne faut pas obligatoirement avoir participé au 1er problème pour participer au 2nd, vous pouvez donc potentiellement vous inscrire jusqu'au 21 mai.
Si vous rencontrez un problème lors de l'inscription( le formulaire académique vient à malfonctionner certaines fois) n'hésitez pas à envoyer un mail à isnfrance@intel.com, nous essaierons de résoudre le problème dans les plus brefs délais.

Pour s'inscrire cliquez ici ( ou envoyez un email à isnfrance@intel.com ) , et précisez dans votre e-mail les noms des participants de votre équipe (les 2 étudiants + le professeur). Il faut préalablement s'être inscris sur l'Intel Developer Zone pour les 2 étudiants et le professeur, puis sur  l'Intel Academic Program pour le professeur. Le professeur peut évidemment encadrer plusieurs équipes, tout en sachant qu'il ne pourra gagner qu'un seul netbook par problème, et cela même si plusieurs de ces équipes sont désignées gagnantes. Un étudiant ne peut faire partie que d'une seule équipe.

Outils

Une machine 32 coeurs sera à votre disposition à distance afin que vous puissez tester votre code en temps réel sur la machine qu'utiliseront les jurys pour la notation. La procèdure d'accès à cette machine vous sera donné après votre inscription .
Si vous ne possèdez pas les outils de développement Intel, un tour sur la page Téléchargements afin d'obtenir des licences universitaires gratuites des outils de développement Intel. En attendant de recevoir vos licences acadèmiques, vous pouvez toujours télécharger la version d'évaluation du produit pour commencer à coder dès maintenant ! Version d'évaluation

 

2ième  problème : ( Mis à jour avec les élèments en gras )

Sums and Products of Primes

A pair of
consecutive primes are two prime numbers that have no other prime between them. The idea of consecutive primes can be extended to any number k, in which there are only k primes between and including the smallest and largest primes of the ordered set. Two examples of 3-consecutive prime sets would be [29, 31, 37] and [11083, 11087, 11093]. One interesting fact about these two sets is that the product of the values in the first set is equal to the sum of the values of the second set.  That is,


29 * 31 * 37 = 11083 + 11087 + 11093 = 33263.


Unfortunately, such pairs of k-consecutive prime sets are few and far between.


Problem Description:
Write a threaded program to identify k-consecutive primes whose product is close to the sum of a set of k-consecutive primes within an input range. Input to the program will be the range to search for consecutive primes to be multiplied, the size of consecutive prime sets, k, to be used, and the maximum difference tolerated between the two computed values. Output from the program will be all qualifying pairs of k-consecutive prime sets and the values of the product and sum. ( k min = 2 )

Input Description:
The input to the program will be four positive integers on the application's command line. The first two integers are the lower and upper bounds (inclusive) of the range to search for consecutive prime sets that will be multiplied together. The third value will be the number of consecutive primes, k, to be included in sets formed and examined by the solution. The product of any k-consecutive primes within the range can be represented by a 64-bit integer. The fourth value will be the allowed maximum difference between the product and the sum of values that will permit the output of the two k-consecutive prime sets. The fourth value should be inferior to 2^15-1.


Output Description:
The output to be generated by the application is the two k-consecutive prime sets and the value of the product and sum, respectively, of the pairs. Each pair of sets and computed values should appear on a single line. All output will be printed to stdout.


Input command line example:
./cprimes 2 50 2 1


Output example:


2-consecutive prime sets with product/sum difference of 1

[2 3]  6   [2 3]  5

[41 43]  1763   [881 883]  1764

[5 7]  35   [17 19]  36

[11 13]  143   [71 73]  144

[31 37]  1147   [571 577]  1148

[13 17]  221   [109 113]  222

[37 41]  1517   [757 761]  1518

[7 11]  77   [37 41]  78

[43 47]  2021   [1009 1013]  2022

[23 29]  667   [331 337]  668


Timing:
The total execution time of the application will be used for scoring. For most accurate timing results, submission codes would include timing code to measure and print total execution time to stdout, otherwise an external stopwatch will be used to measure the entire execution time.

N'oubliez pas que pour participer, vous devez vous inscrire à l'adresse isnfrance@intel.com en précisant vos identifiants Intel® DZ & vos noms.
Aussi, vous pouvez aller faire un tour sur les pages participation pour avoir une idée exacte du résultat attendu, ainsi que la page Rules & conditions pour connaître exactement les critères de notation.
Le coté "social" est pris en compte ; ainsi chaque développeur faisant une réponse ou un post constructif ( ici ou sur le forum)  pour aider un autre étudiant se verra gratifié de points bonus dans une limite entendue.
La description de l'algorithme sera aussi une part très importante de la notation, n'oubliez donc pas de nous fournir un document texte d'environ une page pour décrire votre algortithme et nous expliquer comment vous êtes arrivés à la solution !

 

 

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