Mariano Méndez

Learn More
As it is widely known, multi-core computers are broadly used these days, and automatic parallelization of sequential programs is still a challenge. In this context, we propose a set of code transformations to be applied automatically by a tool in order to transform sequential legacy systems into their parallel version. We implement these transformations by(More)
Climate simulation and weather forecasting codes are among the most complex examples of scientific software. Moreover, many of them are written in Fortran, making them some of the largest and most complex Fortran codes ever developed. For companies and researchers creating Fortran development tools---IDEs, static analyzers, refactoring tools, etc.---it is(More)
Program performance optimization could be a very complex process, even with current software development facilities/ tools. An Integrated Development Environment (IDE) usually does not include many aids for optimization and/or performance evaluation. We propose to include performance evaluation through hardware monitoring counters into IDE software.(More)
This paper presents a catalog of code refactorings that are intended to improve different quality attributes of Fortran programs. We classify the refactorings according to their purpose, that is, the internal or external quality attribute(s) that each refactoring targets to improve. We sketch the implementation of one refactoring in Photran, a refactoring(More)
Current hardware for compute intensive tasks includes a large amount of processing faan optimized way. High performance computing (HPC) is always focused in solving challenging (or, at least, compute intensive) problems for which the response time is the priority. We have been working from two different but usually complementary research problems: a)(More)
Scientific software production dates back to the days before the computer science discipline obtained its own name. Over the past 76 years, scientists have been producing software, which means that most of the modern techniques and software engineering methods available these days did not exist while part of this process was taking place. Change-driven(More)
Current hardware for compute intensive tasks includes a large amount of processing facilities which is sometimes hard to use in an optimized way. High performance computing (HPC) is always focused in solving grand challenge (or, at least, compute intensive) problems for which the response time is the priority. We have been working from two different but(More)
  • 1