Announce: CIFRE doctoral position, fall 2007. The STMicroelectronics compiler group in Grenoble (France) offers the following doctoral position with a CIFRE grant. ---------------------------------------------------------------------- "Combinatorial Methods for Instruction Selection" Instruction selection refers to the compilation phase where the compiler intermediate representation is converted to target processor instructions. Exploitation of complex instruction sets of modern media processors, in particular SIMD (like MMX) and DSP (saturating arithmetic) instructions, require more advanced methods than the classic approach of tree covering by dynamic programming. The purpose of the thesis is to formulate the problems of complex instruction set exploitation as combinatorial problems, and to propose effective solving strategies. Implementation of the corresponding techniques will be in C language inside the STMicroelectronics compilers, based on the SSA (Static Single Assignment) internal program representation. The candidate must be familiar with the basics of operations research, in particular the formulation of combinatorial problems as integer linear or quadratic programs. The candidate must also be able to develop in C language under a Linux environment. ---------------------------------------------------------------------- "Méthodes combinatoires pour la sélection d'instructions" La sélection d'instructions est la phase de compilation qui traduit la représentation intermédiaire du programme vers les instructions du processeur cible. L'exploitation de jeux d'instructions complexes des processeurs modernes de traitement média, notamment les instructions SIMD (type MMX) et DSP (arithmétique saturante), requiert des techniques plus poussées que l'approche classique de couverture d'arbres par programmation dynamique. L'objet de la thèse est de formuler les problèmes d'exploitation de jeux d'instructions complexes comme problèmes d'optimisation combinatoire, et de proposer des stratégies de résolution efficaces. L'implantation des techniques correspondantes s'effectuera en langage C, dans les compilateurs de STMicroelectronics, sur la base d'une représentation des programmes appelée SSA (Static Single Assignment). Le candidat(e) doit être familier avec les bases de la recherche opérationnelle, notamment la formulation de problèmes combinatoires comme programmes linéaires ou quadratiques en nombres entiers. Ce candidat doit également être capable de développer en langage C sous Linux. ---------------------------------------------------------------------- Contacts: benoit.dupont-de-dinechin@st.com References: http://www.cs.usyd.edu.au/~scholz/embedded.html Keywords: Instruction Selection, Technology Mapping