Skip to main content
Log in

From latex specifications to parallel codes

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The advent of multicore systems, joined to the potential acceleration of the graphics processing units, has given us a low cost computation capability unprecedented. The new systems alleviate some well-known important architectural problems at the expense of a considerable increment of the programmability wall. Heterogeneity, at both the architectural and programming levels, poses a great challenge to programmers. As a contribution, we propose a development methodology for the automatic source-to-source transformation on specific domains. This methodology is successfully instantiated as a framework to solve Dynamic Programming problems. As a result of applying our framework, the end user (a physicist, a mathematician or a biologist) can express her problem through a latex equation and automatically derive efficient parallel codes for current homogeneous or heterogeneous architectures. The approach allows an easy portability to new emergent architectures.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Listing 1
Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Schordan M, Quinlan DJ (2003) A source-to-source architecture for user-defined optimizations. In: JMLC, pp 214–223

    Google Scholar 

  2. Dooley I (2006) Automated source-to-source translations to assist parallel programmers. Master’s thesis, Dept. of Computer Science, University of Illinois. http://charm.cs.uiuc.edu/papers/DooleyMSThesis06.shtml

  3. Ueng SZ, Lathara M, Baghsorkhi SS, Hwu WMW (2008) Cuda-lite: reducing gpu programming complexity. In: LCPC08. LNCS, vol 5335. Springer, Berlin, pp 1–15

    Google Scholar 

  4. Bischof H, Gorlatch S (2002) Double-scan: introducing and implementing a new data-parallel skeleton. In: Proceedings of the 8th international Euro-Par conference on parallel processing, Euro-Par’02. Springer, London, pp 640–647

    Google Scholar 

  5. Cole M (2004) Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput 30:389–406

    Article  Google Scholar 

  6. González-Vélez H, Leyton M. A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw Pract Exper

  7. ROSE. www.rosecompiler.org

  8. Benkner S, Mehofer E, Pllana S (2008) Towards an intelligent environment for programming multi-core computing systems. In: Proceedings of the 2nd workshop on highly parallel processing on a chip (HPPC 2008), in conjunction with Euro-Par 2008

    Google Scholar 

  9. Dave C, Bae H, Min S-J, Lee S, Eigenmann R, Midkiff SP (2009) Cetus: a source-to-source compiler infrastructure for multicores. IEEE Comput 42(11):36–42

    Article  Google Scholar 

  10. Nascimento J, Powell W (2010) Dynamic programming models and algorithms for the mutual fund cash balance problem. Manag Sci 56:801–815

    Article  MATH  Google Scholar 

  11. Erdelyi A, Topaloglu H (2010) A dynamic programming decomposition method for making overbooking decisions over an airline network. INFORMS J Comput 22:443–456

    Article  MATH  Google Scholar 

  12. Huang K, Liang Y-T (2011) A dynamic programming algorithm based on expected revenue approximation for the network revenue management problem. Transp Res, Part E, Log Transp Rev 47(3):333–341

    Article  Google Scholar 

  13. Ibaraki T (1988) Enumerative approaches to combinatorial optimization, part II. Ann Oper Res 11:1–4

    MathSciNet  Google Scholar 

  14. Andonov R, Rajopadhye S (1997) Optimal orthogonal tiling of 2-D iterations. J Parallel Distrib Comput 45:159–165

    Article  MATH  Google Scholar 

  15. Morales D, Almeida F, Rodríguez C, Roda J, Delgado A, Coloma I (2000) Parallel dynamic programming and automata theory. In: Parallel computing

    Google Scholar 

  16. Eckstein J, Phillips CA, Hart WE (2000) In: PIcO: an object-oriented framework for parallel branch and bound. Technical report, RUTCOR

  17. Le Cun B (2001) Bob++ library illustrated by VRP. In: European operational research conference (EURO’2001), Rotterdam, p 157

    Google Scholar 

  18. Lubow BC (1997) SDP: generalized software for solving stochastic dynamic optimization problems. Wildl Soc Bull 23:738–742

    Google Scholar 

  19. Peláez I, Almeida F, Suárez F (2007) Dpskel: a skeleton based tool for parallel dynamic programming. In: Seventh international conference on parallel processing and applied mathematics, PPAM2007

    Google Scholar 

  20. Peláez I, Almeida F, González D (2006) An xml specification for automatic parallel dynamic programming. In: International conference on computational science (1), pp 872–875

    Google Scholar 

  21. TtM a TeX to MathML translator. http://hutchinson.belmont.ma.us/tth/mml/

  22. W3C. W3c math home. http://www.w3.org/Math/

  23. Galindo I, Almeida F, Blanco V, Badía JM (2008) Dynamic load balancing on dedicated heterogeneous systems. In: Lastovetsky A, Kechadi T, Dongarra J (eds) Recent advances in parallel virtual machine and message passing interface, EuroPVM/MPI 2009, pp 64–74

    Chapter  Google Scholar 

  24. Santos A, Almeida F, Blanco V, Díez D, Regueira J, Sicilia E (2008) Towards automatic service generation and scheduling in the OpenCF project. Int J Web Grid Serv 4(4):367–378

    Article  Google Scholar 

Download references

Acknowledgements

This work has been supported by the EC (FEDER) and the Spanish MEC with the I+D+I contract number TIN2008-06570-C04-03 and TIN2011-24598, and by the Canary Government project SolSubC200801000307.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Acosta.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Acosta, A., Almeida, F. & Peláez, I. From latex specifications to parallel codes. J Supercomput 64, 167–176 (2013). https://doi.org/10.1007/s11227-012-0797-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0797-3

Keywords

Navigation