25 research outputs found
Domain-Specific Acceleration and Auto-Parallelization of Legacy Scientific Code in FORTRAN 77 using Source-to-Source Compilation
Massively parallel accelerators such as GPGPUs, manycores and FPGAs represent
a powerful and affordable tool for scientists who look to speed up simulations
of complex systems. However, porting code to such devices requires a detailed
understanding of heterogeneous programming tools and effective strategies for
parallelization. In this paper we present a source to source compilation
approach with whole-program analysis to automatically transform single-threaded
FORTRAN 77 legacy code into OpenCL-accelerated programs with parallelized
kernels.
The main contributions of our work are: (1) whole-source refactoring to allow
any subroutine in the code to be offloaded to an accelerator. (2) Minimization
of the data transfer between the host and the accelerator by eliminating
redundant transfers. (3) Pragmatic auto-parallelization of the code to be
offloaded to the accelerator by identification of parallelizable maps and
reductions.
We have validated the code transformation performance of the compiler on the
NIST FORTRAN 78 test suite and several real-world codes: the Large Eddy
Simulator for Urban Flows, a high-resolution turbulent flow model; the shallow
water component of the ocean model Gmodel; the Linear Baroclinic Model, an
atmospheric climate model and Flexpart-WRF, a particle dispersion simulator.
The automatic parallelization component has been tested on as 2-D Shallow
Water model (2DSW) and on the Large Eddy Simulator for Urban Flows (UFLES) and
produces a complete OpenCL-enabled code base. The fully OpenCL-accelerated
versions of the 2DSW and the UFLES are resp. 9x and 20x faster on GPU than the
original code on CPU, in both cases this is the same performance as manually
ported code.Comment: 12 pages, 5 figures, submitted to "Computers and Fluids" as full
paper from ParCFD conference entr
Refactorizaci贸n en c贸digo Fortran heredado
Este art铆culo exhibe los obst谩culos hallados por los programadores en las tareas de mantenimiento de software heredado escrito en Fortran. Por un lado se se~nalan las dificultades que se presentan en los procesos de comprensi贸n, adaptaci贸n y mejora de este tipo de software. Por otro lado se encuadra una soluci贸n a este problema proponiendo la refactorizaci贸n como t茅cnica para ser aplicada en dichos procesos, intentando adem谩s, desmitificar los prejuicios que Fortran ha adquirido dentro del 谩mbito de la producci贸n de software. Asimismo se describe detalladamente la implementaci贸n de algunas refactorizaciones en Photran, una nueva herramienta gr谩fica automatizada de refactorizaci贸n para Fortran.Presentado en el VII Workshop Ingenier铆a de Software (WIS
Refactorizaci贸n en c贸digo Fortran heredado
Este art铆culo exhibe los obst谩culos hallados por los programadores en las tareas de mantenimiento de software heredado escrito en Fortran. Por un lado se se~nalan las dificultades que se presentan en los procesos de comprensi贸n, adaptaci贸n y mejora de este tipo de software. Por otro lado se encuadra una soluci贸n a este problema proponiendo la refactorizaci贸n como t茅cnica para ser aplicada en dichos procesos, intentando adem谩s, desmitificar los prejuicios que Fortran ha adquirido dentro del 谩mbito de la producci贸n de software. Asimismo se describe detalladamente la implementaci贸n de algunas refactorizaciones en Photran, una nueva herramienta gr谩fica automatizada de refactorizaci贸n para Fortran.Presentado en el VII Workshop Ingenier铆a de Software (WIS)Red de Universidades con Carreras en Inform谩tica (RedUNCI
Recommended from our members
Performance-Driven Interface Contract Enforcement for Scientific Components
Several performance-driven approaches to selectively enforce interface contracts for scientific components are investigated. The goal is to facilitate debugging deployed applications built from plug-and-play components while keeping the cost of enforcement within acceptable overhead limits. This paper describes a study of global enforcement using a priori execution cost estimates obtained from traces. Thirteen trials are formed from five, single-component programs. Enforcement experiments conducted using twenty-three enforcement policies are used to determine the nature of exercised contracts and the impact of a variety of sampling strategies. Performance-driven enforcement appears to be best suited to programs that exercise moderately expensive contracts