Unveiling WARIS Code, a Parallel and Multi-purpose FDM Framework

  • Raúl de la CruzEmail author
  • Mauricio Hanzich
  • Arnau Folch
  • Guillaume Houzeaux
  • José María Cela
Conference paper
Part of the Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 103)


WARIS is an in-house multi-purpose framework focused on solving scientific problems using Finite Difference Methods as numerical scheme. Its framework was designed from scratch to solve in a parallel and efficient way Earth Science and Computational Fluid Dynamic problems on a wide variety of architectures. WARIS uses structured meshes to discretize the problem domains, as these are better suited for optimization in accelerator-based architectures. To succeed in such challenge, WARIS framework was initially designed to be modular in order to ease development cycles, portability, reusability and future extensions of the framework. In order to assess its performance, a code that solves the vectorial Advection-Diffusion-Sedimentation equation has been ported to the WARIS framework. This problem appears in many geophysical applications, including atmospheric transport of passive substances. As an application example, we focus on atmospheric dispersion of volcanic ash, a case in which operational code performance is critical given the threat posed by this substance on aircraft engines. Preliminary results are very promising, performance has been improved by 8.2× with respect to the baseline code using a realistic case. This opens new perspectives for operational setups, including efficient ensemble forecast.


Finite Difference Method Ensemble Forecast Stencil Computation Software Architecture Model Computational Fluid Dynamic Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    C. Bonadonna, A. Folch, S. Loughlin, H. Puempel, Future developments in modelling and monitoring of volcanic ash clouds: outcomes from the first IAVCE-WMO workshop on ash dispersal forecast and civil aviation. Bull. Volcanol. 74, 1–10 (2012)CrossRefGoogle Scholar
  2. 2.
    D. Callahan, K. Kennedy, A. Porterfield, Software prefetching, in ASPLOS-IV: Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara (ACM, New York, 1991), pp. 40–52Google Scholar
  3. 3.
    J.M. del Rosario, R. Bordawekar, A. Choudhary, Improved parallel I/O via a two-phase run-time access strategy. SIGARCH Comput. Archit. News 21(5), 31–38 (1993)CrossRefGoogle Scholar
  4. 4.
    A. Folch, A. Costa, G. Macedonio, Fall3d: a computational model for transport and deposition of volcanic ash. Comput. Geosci. 35(6), 1334–1342 (2009)CrossRefGoogle Scholar
  5. 5.
    M. Frigo, V. Strumpen, Cache oblivious stencil computations, in 19th ACM International Conference on Supercomputing, Cambridge, June 2005, pp. 361–366Google Scholar
  6. 6.
    S. Kamil, P. Husbands, L. Oliker, J. Shalf, K. Yelick, Impact of modern memory subsystems on cache optimizations for stencil computations, in MSP ’05: Proceedings of the 2005 workshop on Memory System Performance, Chicago (ACM, New York, 2005), pp. 36–43Google Scholar
  7. 7.
    B. Langmann, A. Folch, M. Hensch, V. Matthias, Volcanic ash over europe during the eruption of Eyjafjallajökull on iceland, April–May 2010. Atmos. Environ. 48, 1–8 (2012)CrossRefGoogle Scholar
  8. 8.
    X. Ma, M. Winslett, J. Lee, S. Yu, Improving MPI-IO Output Performance with Active Buffering Plus Threads, IPDPS ’03, Nice (IEEE Computer Society, Washington, DC, 2003), pp. 68.2–Google Scholar
  9. 9.
    J. McCalpin, D. Wonnacott, Time skewing: a value-based approach to optimizing for memory locality, Technical Report DCS-TR-379, Department of Computer Science, Rutgers University, 1999Google Scholar
  10. 10.
    K.S. McKinley, S. Carr, C.-W. Tseng, Improving data locality with loop transformations. ACM Trans. Program. Lang. Syst. 18, 424–453 (1996)CrossRefGoogle Scholar
  11. 11.
    W.L. Oberkampf, C.J. Roy, Verification and Validation in Scientific Computing, 1st edn. (Cambridge University Press, New York, 2010)CrossRefzbMATHGoogle Scholar
  12. 12.
    J. Reinders, An Overview of Programming for Intel Xeon processors and Intel Xeon Phi coprocessors, (Intel, 2012)Google Scholar
  13. 13.
    G. Rivera, C.W. Tseng, Tiling optimizations for 3D scientific computations, in Proceedings of ACM/IEEE Supercomputing Conference (SC 2000), Dallas (IEEE Computer Society, Washington, DC, Nov 2000), p. 32Google Scholar
  14. 14.
    A. Russell, R. Dennis, Narsto critical review of photochemical models and modelling. Atmos. Environ. 34, 2261–2282 (2000)CrossRefGoogle Scholar
  15. 15.
    J. Sanders, E. Kandrot, CUDA by Example: An Introduction to General-Purpose gpu Programming (Addison-Wesley Professional, Upper Saddle River, 2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Raúl de la Cruz
    • 1
    Email author
  • Mauricio Hanzich
    • 1
  • Arnau Folch
    • 1
  • Guillaume Houzeaux
    • 1
  • José María Cela
    • 1
  1. 1.CASE DepartmentBarcelona Supercomputing CenterBarcelonaSpain

Personalised recommendations