Optimization tools for scientific applications

Parallel programming is required in many scientific areas for numerical simulations. Scientists appreciate some guide tools, as this technology implies a lot of intrinsic difficulties, coming from a wide range of parallel architectures and programming models. Optimization tools are specially useful in order to benefit from the hardware and software capabilities: static analysis of programs, loop rewritings, automatic parallelization, storage or communication optimizations,.. We have studied tools we developed at ICPS (PEI, OPERA) in order to address actual scientific problems: These tools and technologies were illustrated to solve sparse matrix operations, matrix factorizations or fluid mechanics problems.