Difference between revisions of "Jobs/M2 RL 2014 problematiques-performance"
From LRDE
(Created page with "<big>Étude de problématiques de performance en traitement d'images dans un contexte générique</big>'''Bold text''' === Présentation du laboratoire === Fondé en 1998, l...") |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Job |
||
− | <big>Étude de problématiques de performance en traitement d'images dans un contexte générique</big>'''Bold text''' |
||
+ | |Reference id=M2 RL 2014 problematiques-performance |
||
+ | |Title=Study of performance-related issues in image analysis in a generic context |
||
+ | |Dates=5 - 6 months in 2014 |
||
+ | |Research field=Image Processing |
||
+ | |Related project=Olena |
||
+ | |Advisor=Roland Levillain |
||
+ | |Context=Started in 1998, the [https://www.lrde.epita.fr EPITA Research and Development Laboratory (LRDE)] is a laboratory under the administrative supervision of [http://www.epita.fr EPITA (École Pour l'Informatique et les Techniques Avancées)], a French “École d'Ingénieurs” (Engineering School). |
||
+ | Like the lab, the team is young and dynamic; in early 2014, it is composed of ten assistant-professors, one administrator, 4 Ph.D. candidates and about ten students doing part-time research in the lab during their studies. The works in fundamental research conducted at the LRDE are organized around two themes: |
||
− | === Présentation du laboratoire === |
||
+ | * Pattern Recognition |
||
− | Fondé en 1998, le LRDE est un laboratoire sous tutelle de l'[http://www.epita.fr École Pour l'Informatique et les Techniques Avancées (EPITA)]. |
||
+ | * Automata and Model Checking |
||
− | À l'instar du laboratoire, l'équipe est jeune et dynamique ; fin 2012, elle est composée d'une dizaine d'enseignant-chercheurs, d'une administratrice, de cinq doctorants et d'une |
||
− | douzaine d'étudiants-chercheurs de l'école. Les travaux de recherche fondamentale effectués au LRDE s'articulent autour de deux thématiques : |
||
+ | In addition, all applied research efforts in the lab fall within a research line called “genericity and efficiency”. |
||
− | * la reconnaissance des formes ; |
||
+ | |General presentation of the field=This internship is part of the “genericity and efficiency” research line of the laboratory. |
||
− | * les automates et la vérification formelle. |
||
+ | Many software tools for image processing are designed with performance issues in mind, related to either the data (many images or videos, or very large ones), the context (real-time constraints, the need to obtain a response in a “reasonable” time frame), or hardware (limited processing power or memory capacity). |
||
− | Par ailleurs, la recherche applicative s'inscrit dans un axe |
||
− | transverse dit de « généricité et performance ». |
||
+ | Besides, more and more software libraries for image processing are built along the lines of an advanced design work, using “abstractions” representing the various concepts of the domain (image, point, value, neighborhood, etc. ). This approach enables a high-level strategy to write image processing algorithms, which are reusable (not restricted to a single use case) and often simpler. Software frameworks from this category are mostly based on object-oriented programming or generic programming (C++ templates, Java or C# generics). |
||
− | === Description du stage === |
||
+ | Tools that seek to resolve the two previous issues (being efficient while providing a general writing via abstractions) are much more uncommon. The [[Olena]] project, developed for more than fifteen years by the LRDE, proposes a library for generic image processing in C++, Milena, designed for writing reusable and efficient algorithms. It relies both on generic and object-oriented programming. The internship aims to explore ways to extend the capabilities of Milena in the field of high performance computing (in particular in “Big Data” contexts), while preserving its current generic- and abstraction-related features. |
||
− | Ce stage s'inscrit dans l'axe « généricité et performance » du |
||
+ | |Prerequisites=Keywords : scientific computing, Big Data, C++, parallel programming. |
||
− | laboratoire. |
||
+ | |Objectives=Some working aspects include the following ideas: |
||
+ | * The design and the addition of data structures for large volumes of data. |
||
− | On peut constater d'une part que de nombreux outils logiciels pour le |
||
+ | * The use of vectorization instructions (SIMD) to speed up computations. |
||
− | traitement d'image sont conçus en prenant en compte des problématiques |
||
+ | * The use of parallel programming (multicore) to distribute computations. |
||
− | de performance relatives aux données (images ou vidéos volumineuses ou |
||
+ | * The implementation of algorithms (or algorithms families) using a declarative strategy to uncouple their definition and implementation in low-level hardware in a given context. |
||
− | nombreuses), au contexte (contraintes de temps réel, besoins d'obtenir |
||
+ | * The use of generic programming (e.g., canvas of algorithms) and / or generative programming (generation and assembly of code based on templates). |
||
− | une réponse dans un temps « raisonnable ») ou encore liée au matériel |
||
+ | * the introduction of Profile-Guided Optimizations taking advantage of real data to improve the generated code via “machine learning” techniques introduced in the compilation. |
||
− | (puissance de calcul ou capacité mémoire limitée(s)). |
||
+ | In any case, the research work should be conducted with a reusability / genericity goal (even a partial one) of the proposed solutions in mind, for example based on an incremental refinement (“lifting”) of a first implementation. Ultimately, the goal is to actually set the first elements of a more formal set of properties and data types, in order to generalize the performance improvements mentioned above. |
||
− | Par ailleurs, de plus en plus de bibliothèques logicielles pour le |
||
+ | |Contact=roland.levillain-at-lrde.epita.fr (Please mention the internship reference above when applying.) |
||
− | traitement d'images sont construites d'après une modélisation avancée |
||
+ | |Compensation=800 € gross/month |
||
− | mettant en oeuvre des « abstractions » représentant les différentes |
||
+ | |Future work opportunities=If you have performed the internship satisfactorily, we would like it to be followed by a PhD thesis. |
||
− | notions du domaine (image, point, valeur, voisinage, etc.). Cette |
||
+ | |Type=Master Internship |
||
− | approche permet une écriture « haut niveau » d'algorithmes de |
||
+ | |Language=en |
||
− | traitement d'images, réutilisables (non limités à un unique cas |
||
+ | }} |
||
− | d'utilisation) et souvent plus simples. Les cadres logiciels |
||
− | (« software frameworks ») entrant dans cette catégorie s'appuient le |
||
− | plus souvent sur la programmation orientée objet ou la programmation |
||
− | générique (templates du C++, generics de Java ou C#). |
||
− | |||
− | Il est cependant beaucoup plus rare d'observer des outils qui |
||
− | cherchent à répondre aux deux préoccupation précédentes (être |
||
− | performant tout en fournissant une écriture générale via des |
||
− | abstractions). Le projet [[Olena]], développé depuis |
||
− | plus de dix ans au LRDE, propose une bibliothèque de traitement |
||
− | d'images générique en C++, Milena, permettant l'écriture d'algorithmes |
||
− | réutilisables et performants. Elle s'appuie à la fois sur la |
||
− | programmation générique et la programmation orientée objet. Le stage |
||
− | proposé a pour objet l'exploration de pistes pour étendre les capacités |
||
− | de Milena dans le domaine du calcul performant (notamment dans le |
||
− | contexte des « Big Data »), tout en préservant ses caractéristiques de |
||
− | généricité et d'abstraction actuelles. |
||
− | |||
− | Les pistes de travail proposées incluent notamment les idées |
||
− | suivantes : |
||
− | |||
− | * la conception et l'ajout de structures de données destinées à de |
||
− | gros volumes de données ; |
||
− | * l'utilisation d'instructions de vectorisation (SIMD) pour |
||
− | accélérer les calculs ; |
||
− | * l'utilisation de programmation parallèle (multicur) pour |
||
− | répartir les calculs. |
||
− | |||
− | Dans tous les cas, les travaux de recherche devront être menés en |
||
− | gardant à l'esprit une intention de réutilisabilité / généricité (même |
||
− | partielle) des solutions proposées, en s'appuyant par exemple sur un |
||
− | raffinement (''lifting'') incrémental d'une première proposition. À |
||
− | terme, l'objectif est en effet de poser les premières briques d'une |
||
− | formalisation d'un ensemble de propriétés et de types de données |
||
− | permettant de généraliser les améliorations de performance mentionnées |
||
− | ci-avant. |
||
− | |||
− | Mots-clefs : calcul scientifique, Big Data, C++, programmation parallèle. |
||
− | |||
− | === Pré-requis === |
||
− | |||
− | Des connaissances en traitement d'images sont nécessaires à la |
||
− | réalisation de ce stage. Le candidat devra être familiarisé avec le |
||
− | langage C++ ou avoir au moins un bon niveau de connaissance du langage |
||
− | C. Le travail à effectuer devra s'intégrer dans la plate-forme |
||
− | logicielle libre de traitement d'images du LRDE, |
||
− | [[Olena]], écrite en C++. |
||
− | |||
− | Des connaissances en modélisation objet, programmation générique, |
||
− | vectorisation ou en programmation parallèle / multiccoeur seraient |
||
− | appréciables. |
||
− | |||
− | === Débouchés === |
||
− | |||
− | Si le déroulement du stage est satisfaisant, nous souhaiterions qu'il |
||
− | soit suivi d'une thèse de doctorat. |
||
− | |||
− | === Informations pratiques === |
||
− | |||
− | * Personnes à contacter : |
||
− | ** <tt><roland.levillain-at-lrde.epita.fr></tt> |
||
− | * [[Contact|Lieu du stage]] :<br /> |
||
− | Laboratoire de Recherche et Développement de l'EPITA (LRDE)<br /> |
||
− | 18, rue Pasteur<br /> |
||
− | 94270 Le Kremlin-Bicêtre<br /> |
||
− | (Porte d'Italie) |
||
− | * Rémunération : environ 800 € brut/mois |
||
− | |||
− | Annonce diffusée à partir du 07/12/2012. |
||
− | |||
− | roland - 07 Dec 2012 |
Latest revision as of 17:19, 8 April 2014
Study of performance-related issues in image analysis in a generic context | |
---|---|
Reference id |
M2 RL 2014 problematiques-performance |
Dates |
5 - 6 months in 2014 |
Research field |
Image Processing |
Related project | |
Advisor | |
General presentation of the field |
This internship is part of the “genericity and efficiency” research line of the laboratory. Many software tools for image processing are designed with performance issues in mind, related to either the data (many images or videos, or very large ones), the context (real-time constraints, the need to obtain a response in a “reasonable” time frame), or hardware (limited processing power or memory capacity). Besides, more and more software libraries for image processing are built along the lines of an advanced design work, using “abstractions” representing the various concepts of the domain (image, point, value, neighborhood, etc. ). This approach enables a high-level strategy to write image processing algorithms, which are reusable (not restricted to a single use case) and often simpler. Software frameworks from this category are mostly based on object-oriented programming or generic programming (C++ templates, Java or C# generics). Tools that seek to resolve the two previous issues (being efficient while providing a general writing via abstractions) are much more uncommon. The Olena project, developed for more than fifteen years by the LRDE, proposes a library for generic image processing in C++, Milena, designed for writing reusable and efficient algorithms. It relies both on generic and object-oriented programming. The internship aims to explore ways to extend the capabilities of Milena in the field of high performance computing (in particular in “Big Data” contexts), while preserving its current generic- and abstraction-related features. |
Prerequisites |
Keywords : scientific computing, Big Data, C++, parallel programming. |
Objectives |
Some working aspects include the following ideas:
In any case, the research work should be conducted with a reusability / genericity goal (even a partial one) of the proposed solutions in mind, for example based on an incremental refinement (“lifting”) of a first implementation. Ultimately, the goal is to actually set the first elements of a more formal set of properties and data types, in order to generalize the performance improvements mentioned above. |
Benefit for the candidate | |
References | |
Place | LRDE: How to get to us |
Compensation |
800 € gross/month |
Future work opportunities |
If you have performed the internship satisfactorily, we would like it to be followed by a PhD thesis. |
Contact |