Millésime
2012-2013
Entreprise
CALDERA
Equipe projet
BLOT Adrien
ORFILA Jean-Baptiste
SÉVERIN Nicolas
ORFILA Jean-Baptiste
SÉVERIN Nicolas
Présentation de l'entreprise
CALDERA est un éditeur de logiciels à destination des acteurs de l'imagerie grand format. Ses objectifs sont : l'amélioration de la productivité et de la rentabilité de l'imprimerie, l'amélioration du rendu colorimétrique des imprimantes.
Contexte du projet
Les industriels de l'impression grand format ont maintenant besoin d'imprimer un grand nombre d'images différentes en gardant une cadence élevée (10 000 posters/heure). Or, le fait que chaque image soit différente oblige qu'il y ait un prétraitement avant chaque impression, dont la durée n'est pas négligeable. Afin d'anticiper les futures capacités d'impression, CALDERA souhaite accélérer d'un facteur 20 sa suite logicielle prépresse.
Objectifs
Ce projet a pour but de réaliser une étude sur l'optimisation d'algorithme, le parallélisme, et les supports de stockage. Elle permettra d'inventorier les solutions les plus efficaces pour accélérer l'algorithme de tramage, dernière étape des traitements prépresse. Cet algorithme consiste à déterminer le nombre, la position et la taille de chaque point d'encre nécessaire pour reproduire une couleur. Il représente l'entrave principale en termes de débit de la suite logicielle prépresse.
Déroulement du projet
Le projet peut être découpé en trois étapes : une étude générale sur le parallélisme, une étude sur les différentes technologies de parallélisation, et enfin une étape d'implémentation, tests et optimisations sur les technologies choisies.
L'étude générale consiste à prospecter sur le parallélisme ; les grands principes derrière ce terme, ainsi que les technologies existantes. Les technologies retenues sont :
Dans un second temps, nous nous sommes formés sur les architectures, qui requièrent des savoir-faire différents. De plus, dans le but de pouvoir les comparer entre elles, une méthodologie de test est rédigée. Elle définit précisément comment mesurer le débit, et les paramètres étudiés.
La dernière étape du projet consiste à adapter et à optimiser l'algorithme de tramage sur les différents supports. Le langage de base utilisé est le C, accompagné des bibliothèques adaptées.
Des implémentations mélangeant plusieurs de ces architectures sont aussi envisagées, afin d'améliorer encore le facteur d'accélération. C'est au cours de cette étape que le dossier technique est rédigé, contenant les résultats et leurs analyses. Il permettra à l'entreprise de faire un choix sur la technologie la plus prometteuse, qu'elle intégrera à sa suite logicielle.
L'étude générale consiste à prospecter sur le parallélisme ; les grands principes derrière ce terme, ainsi que les technologies existantes. Les technologies retenues sont :
- GPGPU (CUDA, OpenCL) : Effectuer des calculs non destinés à l'affichage sur une ou plusieurs cartes graphiques
- Machines distribuées (MPI) : Distribuer les calculs sur plusieurs machines (cluster)
- Multithreading : Utiliser les différents cœurs de calculs d'un processeur
- SIMD (SSE, AVX) : Faire des calculs sur des vecteurs plutôt que sur des scalaires
Dans un second temps, nous nous sommes formés sur les architectures, qui requièrent des savoir-faire différents. De plus, dans le but de pouvoir les comparer entre elles, une méthodologie de test est rédigée. Elle définit précisément comment mesurer le débit, et les paramètres étudiés.
La dernière étape du projet consiste à adapter et à optimiser l'algorithme de tramage sur les différents supports. Le langage de base utilisé est le C, accompagné des bibliothèques adaptées.
Des implémentations mélangeant plusieurs de ces architectures sont aussi envisagées, afin d'améliorer encore le facteur d'accélération. C'est au cours de cette étape que le dossier technique est rédigé, contenant les résultats et leurs analyses. Il permettra à l'entreprise de faire un choix sur la technologie la plus prometteuse, qu'elle intégrera à sa suite logicielle.
Résultats obtenus
Les accélérations suivantes sont obtenues :
- GPGPU : x6,5
- SIMD + MULTITHREAD : x7
- GPGPU + SIMD + MULTITHREAD : x11
Pour plus d'information, projet.industriel@esisar.grenoble-inp.fr
Contact
Karim CHIBANE
Directeur transfert de technologies
Tel : +33 4 75 75 94 69
Stéphanie Ruard
Assistante transfert de technologies
Tel : +33 4 75 75 94 47
Directeur transfert de technologies
Tel : +33 4 75 75 94 69
Stéphanie Ruard
Assistante transfert de technologies
Tel : +33 4 75 75 94 47