I have thesis available on several arguments related to my research interests, namely:
Autonomic management of structured parallel computations The subjects are related to the possibilities offered by embedding in structured parallel programs “control strategies” that take care of the non functional aspects of parallel computations (performance, security, fault tolerance, power management, etc.)
Macro data flow computing models for multi/many cores The subjects are related to the usage of data flow computing model (macro refers to the fact data flow instructions may be large portions of code, actually) to target multi/many core architectures.
Structured parallel programming for MIC The subjects are related to the usage of MIC (Intel Xeon Phi) devices to speedup structured parallel application execution.
Structured parallel programming in functional frameworks The subjects are related to exploitation of structured parallelism using either Erlang or Ocaml. I'm particularly interested in using these languages to target multicore architectures.
Parallelization of existing applications The subjects are related to parallelising differen applications, that is: devising proper parallelisation strategies, implementing the parallel application, measuring the actual speedup and efficiencies achieved.
FastFlow development FastFlow is a parallel programming framework currently developed and maintained by our Dept. and by the Dept. of Computer Science of the Univ. of Torino (Aldinucci). We have severeal new features that we would like to include in the framework (GPU targeting, MIC targeting, new structured patterns, usage of #pragma(s) to make FastFlow usage simpler, etc.) worth to be investigated during a thesis.
In most cases, both “theoretic”, completely practical and mix theoretic and practical thesis subjects are available. Please contact me in case you want to discuss any point related to the thesis arguments.
In all cases, the practical part of the thesis work will make usage of my group computing resources, including (at the moment) Sandy Bridge multicores (with Infiniband), AMD Magny Cours multicores, Xeon Phi, Tilera Tile64Pro, Tesla and Kepler nVidia GPUs.
Acceleration of stereo matching algorithms on embedded systems ARM + GPUs Within computer vision, “stereo matching” is the expression used to denote an algorithm family suitable to infer quantitative data relative to the distances of the observed objects from the observation point in a (video) scene. The computations builds on the comparison among visually similar objects in couple of images taken from distinct observation points at the same time (stereovision). The candidate should review the existing algorithms and evaluate the feasibility of the porting of such algorithms onto an architecture with ARM cores and one or more GPUs, then he/she should choose one of the existing algorithms, port it onto the target architecture, run experiments and evaluated the efficiency and speed of the algorithm on the target architecture. The thesis is in cooperation with an external SME that will also provide access to the specific hardware required. Keywords: Stereo matching algorithms, stereovision, GPU, CUDA, Embedded computing, ARM, parallel programming, computer vision, OpenCV, ling.