iOMP-SWAT-622
Introduction
This research work is to accelerate the execution speed of SWAT (version 622, home page http://swat.tamu.edu/) using OpenMP. We achieved more than twice speedup by rapidly nullifying all the variables zero. We provide two example data sets of Upper Colorado (large-scale) and Maui, Hawaii (small-scale), downloadable here. https://github.com/enphysoft/iomp-swat-622
Paper information
- Full title: OpenMP-accelerated SWAT simulation using Intel C and
FORTRAN compilers: Development and benchmark - Download: Full Text in RG.
- Authors: Seo Jin Ki (seojinki at gmail.com), Tak Sugimura, and Albert S. Kim (albertsk at hawaii.edu)
- Journal: Computers and Geosciences
- Volume: 75
- Year: 2015
- Pages: 66-72
- URL: doi:10.1016/j.cageo.2014.10.017
- Abstract:
- We developed a practical method to accelerate execution of Soil
and Water Assessment Tool (SWAT) using open (free) computational
resources. The SWAT source code (rev 622) was recompiled using a
noncommercial Intel FORTRAN compiler in Ubuntu 12.04 LTS Linux
platform, and newly named iOMP-SWAT in this study. GNU utilities of
make, gprof, and diff were used to develop the iOMP-SWAT package,
profile memory usage, and check identicalness of parallel and serial
simulations. Among 302 SWAT subroutines, the slowest routines were
identified using GNU gprof, and later modified using Open Multiple
Processing (OpenMP) library in an 8-core shared memory system. In
addition, a C wrapping function was used to rapidly set large arrays to
zero by cross compiling with the original SWAT FORTRAN package. A
universal speedup ratio of 2.3 was achieved using input data sets of a
large number of hydrological response units. As we specifically focus
on acceleration of a single SWAT run, the use of iOMPSWAT for parameter
calibrations will significantly improve the performance of SWAT
optimization.
- We developed a practical method to accelerate execution of Soil
Summary
- Results: more than twice speedup
- OpenMP source distribution (download)
- Reference data (download) for both Colorado and Maui.
- Structure
- Main program: main.f
- Module file: modparm.f
- Dynamic allocation: allocate_parms.f
- Number of files
- f77: 299
- f90: 3 (NCsed_leach.f90, carbon_zhang2.f90, and
hruday.f90)
- Key changes and additions
- Directory structure
- Makefiles
- In swat622-iomp
- In swat622-iomp/src