Research

 
 

I'm heading a research group mainly worried about "productivity" in the context of high performance computing, or in other words, to achieve "performance without pain". Let me elaborate a little more about that. From the computer architecture point of view we are in the multi-core or many-core era. We have dual or quad core CPUs in our PCs, Intel has a prototype with 80 cores, and the Cell processor of the PlayStation III has a PowerPC and 8 companion processing elements, to give you a few examples. To fully exploit these new architectures is a challenge from the software point of view, because they are more difficult to program and error prone than the old sequential architectures. Our research goals are to find new tools and programming models to alleviate these new difficulties.


Regarding the tools, we have been working in a parallelizing compiler able to detect dynamic data structures (list, trees...) in a sequential C code, and to identify the parallel loops that traverse these data structures.


On the other hand we also explore the field of new programming models. We are interested in the Unified Parallel C (UPC) language, the Chapel parallel language, the Threading Building Blocks library, work stealing scheduling, pipeline and wavefront functional parallelism.


In my PhD (Sparse LU factorization in Multiprocessors -in spanish-), I started working in the manual parallelization of sparse algorithms, but also explored the semi-automatic and automatic parallelization approaches.

 

Links and News



Publication List



Upcoming conferences


  1. PLDI 2013

  2. IPDPS 2013


Grad Phd students


  1. 1.Francico Corbera (2001)

  2. 2.Adrián Tineo (2009)

  3. 3.Rosa Castillo (2009)


PHD Students


  1. Rafael Larrosa

  2. Antonio García

  3. Alberto Sanz

 
  1. Parallel programming languages

  2. Parallelizing compilers

  3. Parallel architectures

Main topics