Difference between revisions of "Jobs/M2 RL 2014 problematiques-performance"

From LRDE

Line 26: Line 26:
 
|Future work opportunities=If the internship is satisfactory, we would like it to be followed by a PhD.
 
|Future work opportunities=If the internship is satisfactory, we would like it to be followed by a PhD.
 
|Type=Master Internship
 
|Type=Master Internship
|Language=en
 
 
}}
 
}}

Revision as of 11:52, 7 February 2014

Study of problems related to performance in the field of 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

Olena

Advisor

Roland Levillain

General presentation of the field

This internship belongs to the lab's research axis "genericity and perfomance". Many software tools for image processing are designed taking into account the performance issues related to data processing (many images or videos or very heavy ones), to the context (real-time constraints, the need to obtain a response within a "reasonable" time) or related to the material (limited processing power or memory capacity).

In addition to this, more and more software libraries for image processing are built according to advanced modeling implementing "abstractions" that represent the different concepts of the domain (image, point, value, neighborhood, etc. ). This approach allows writing "high level" algorithms for image processing which are reusable (not restricted to a single use case) and often simpler. Software frameworks belonging to this category are mostly based on object-oriented programming or generic programming (C + + templates, generics in Java or C #).

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 over the past fifteen years by the LRDE offers a library for generic image processing in C + +, Milena, for writing reusable and efficient algorithms. It relies both on generic programming and object-oriented programming. The internships aims to explore ways to extend the capabilities of Milena in the field of efficient computation (in particular in the context of "Big Data"), while preserving the current characteristics of genericity and abstraction.

Prerequisites

Key-words : scientific computing, Big Data, C++, parallel programming.

Objectives

Some working aspects include the following ideas:

  • the design and the addition of data structures for large volumes of data;
  • the use of vectorization instructions (SIMD) to accelerate computations;
  • the use of parallel programming (multicore) to distribute calculations.
  • the realization of algorithms (or algorithms families) using a declarative approach to decouple their definition and implementation in low-level hardware in a given context;
  • the use of generic programming (eg, canvas algorithms) and / or generative programming (generation and assembly of code based on templates);
  • the introduction of Profile-Guided Optimizations taking advantage of real data to improve a code via training techniques introduced in the compilation.

In all cases, any research should be conducted keeping in mind the reusability / genericity (even partial) of the proposed solutions, for example based on an incremental refinement ("facelift") of a first proposal. Ultimately, the goal is indeed to lay the first brick of a formalization of a 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 the internship is satisfactory, we would like it to be followed by a PhD.

Contact

(Please mention the internship reference above when applying.) roland.levillain-at-lrde.epita.fr (Please mention the internship reference above when applying.)