Avec CoreMark-PRO, les processeurs d’application évolués ont désormais un banc d’essai adapté

Logo EEMBC

Publié par le consortium EEMBC, le banc d’essai CoreMark - qui fête cette année ses six ans d’existence - a fait ses preuves et a largement remplacé le  « vieux » Dhrystone dans le cœur des fabricants de microcontrôleurs ...et de microprocesseurs embarqués comme Atmel, ARM, Freescale, Imagination, Microchip, NXP, Renesas et STMicroelectronics.

Reste que le benchmark CoreMark, dont le code n’excède pas 2 Ko (pour 16 Ko de données) sollicite essentiellement le cœur de processeur. « Avec la généralisation de l’usage de circuits haut de gamme multicœurs et dotés de capacités mémoire imposantes, il fallait donc un banc d’essai plus adapté à ce type d’architecture, rappelle Markus Levy, président du consortium EEMBC. Un banc d’essai qui soit apte à tester l’ensemble du processeur avec des charges de travail imposant des calculs aussi bien sur les nombres entiers qu’en virgule flottante et mettant en œuvre des jeux de données qui utilisent des sous-systèmes mémoire de taille plus importante… D’où la mise au point du benchmark CoreMark-PRO qui peut être téléchargé gratuitement dès aujourd’hui. »

Dans la pratique, neuf programmes différents visent à mettre à l’épreuve les processeurs d’application 32 bits et 64 bits dont une compression JPEG, une compression Zip, un parseur XML, un algorithme de hachage SHA256 et une version plus intensive en ressources mémoire du CoreMark original pour les opérations sur les nombres entiers, et une transformée FFT, une routine d’algèbre linéaire dérivée de Linpack, une mouture améliorée des « boucles de Livermore » et un algorithme de réseau neuronal pour les calculs en virgule flottante.

« L’ensemble permet de tester une grande variété de caractéristiques et de soumettre le processeur à un plus grand stress que le CoreMark original, souligne Markus Levy. Dans la pratique, la plupart des configurations testées le seront sous Linux sachant qu’a priori cinq minutes suffisent pour télécharger le banc d’essai, mettre au point le code à exécuter et le lancer sur l’architecture sélectionnée. Un travail d’ingénierie non négligeable devra toutefois être réalisé pour obtenir des résultats optimaux… » L’utilisation du benchmark est gratuit mais nécessite une licence (2 500 dollars environ) si le fabricant souhaite publier les résultats dans des documents marketing ou publicitaires.