Skip to main content

Performance and Productivity of New Programming Languages

  • Chapter

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 7174)

Abstract

Will HPC programmers (have to) adapt to new programming languages and parallelization concepts? Many different languages are currently discussed as complements or successors to the traditional HPC programming paradigm (Fortran/C+MPI). These include both languages designed specifically for the HPC community (e.g. the partitioned global address space (PGAS) languages UPC, CAF, X10 or Chapel) and languages that allow the use of hardware accelerators (e.g. Cn for ClearSpeed accelerator boards, CellSs for IBM CELL and GPGPU languages like CUDA, OpenCL, CAPS hmpp and RapidMind).

During the project “Partnership for Advanced Computing in Europe – Preparatory Phase” (PRACE-PP), developers across Europe have ported three benchmarks to more than 12 different programming languages and assessed both performance and productivity. Their results will help scientific groups to choose the optimal combination of language and hardware to efficiently tackle their scientific problems. This paper describes the framework used for this assessment and the results gathered during the study together with guidelines for interpretation.

Keywords

  • High Performance Computing
  • Benchmark Suite
  • Hardware Accelerator
  • High Performance Computing Application
  • High Performance Fortran

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.

This work was financially supported by the PRACE project funded in part by the EUs 7th Framework Programme (FP/2007/2013) under grant agreement no. RI-211528 and RI-261557. We specially thank the following individuals for their time and effort to port the Euroben kernels and for reporting their experiences: Guillaume Colin de Verdière, CEA, France (CAPS hmpp); Maciej Cytowski , PSNC, Poland (CellSs); Jose Gracia, HLRS, Germany (Chapel); Hans Hacker, LRZ, Gernany (CUDA, MKL); Olli-Pekka Lehto, CSC, Finland (OpenCL, CUDA+MPI); Walter Lioen, SARA, Netherlands (X10); James Perry, EPCC, United Kingdom (VHDL, HCE); Sami Saarinen, CSC, Finland (UPC, CAF); Ramnath Sai Sagar, BSC, Spain (CellSs); Filippo Spiga, CINECA, Italy (OpenMP+MPI); Aad van der Steen, NCF, Netherlands (C, Fortran, MPI) and Volker Weinberg, LRZ, Germany (RapidMind).

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-30397-5_3
  • Chapter length: 12 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-30397-5
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   69.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Simpson, A., et al.: PRACE-PP Deliverable D6.1 Identification and Cate- gorisation of Applications and Initial Benchmarks Suite, http://www.prace-project.eu/documents/public-deliverables-1/Identification_and_Categorisatio_of_Applications_and_Initial_Benchmark_Suite_nal.pdf

  2. Michielse, P., et al.: PRACE-PP Deliverable D6.3.1 Report on available perfor- mance analysis and benchmark tools, Representative Benchmark, http://www.prace-project.eu/documents/public-deliverables-1/public-deliverables/D6.3.1.pdf

  3. von Alfthan, S., et. al.: PRACE-PP Deliverable D6.5 Report on Porting and Optimisation of Applications, http://www.prace-project.eu/documents/public-deliverables/d6-5.pdf

  4. Jowkar, M., et. al.: PRACE-PP Deliverable D6.4 Report on Approaches to Petascaling, http://www.prace-project.eu/documents/public-deliverables/d6-4.pdf

  5. Kennedy, K., et al.: Defining and Measuring the Productivity of Programming Languages. International Journal of High Performance Computing Applications 18 (2004)

    Google Scholar 

  6. Cavazzoni, C., et al.: PRACE-PP Deliverable D6.6 Report on petascale softwarelibraries and programming models, http://www.prace-project.eu/documents/public-deliverables/d6-6.pdf

  7. Asanovic, K., et al.: The Landscape of Parallel Computing Research: A View from Berkeley, Technical Report No. UCB/EECS-2006-183 (2006), http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf

  8. Che, S., et al.: Rodinia: A benchmark suite for heterogeneous computing. In: IEEE International Symposium on Workload Characterization IISWC 2009, pp. 44–54 (2009)

    Google Scholar 

  9. The Euroben benchmark home page, http://www.euroben.nl/

  10. Intel Math Kernel Library, http://software.intel.com/en-us/intel-mkl/

  11. Carlson, W., et al.: UPC: Distributed Shared Memory Programming. Book of WileyInter-Science (2005)

    Google Scholar 

  12. Numrich, R.W., Reid, J.: Co-Array Fortran for Parallel Programming. ACM SIGPLAN Fortran Forum 17 (1998)

    Google Scholar 

  13. Dongarra, J., et al.: DARPA’s HPCS Program: History, Models, Tools, Languages. Advances in Computers (2008)

    Google Scholar 

  14. Chamberlain, B.L., et al.: Parallel Programmability and the Chapel Language. International Journal of High Performance Computing Applications 21 (2007)

    Google Scholar 

  15. X10 language, http://x10-lang.org

  16. ClearSpeed Cn language, http://www.clearspeed.com

  17. Perez, J.P.: CellSs: making it easier to program the cell broadband engine processor. IBM Journal of Research and Development 51 (2007)

    Google Scholar 

  18. Nvidia CUDA, http://www.nvidia.com/object/cuda_home.htm

  19. OpenCL - The open standard for parallel programming of heterogeneous systems, http://www.khronos.org/opencl/

  20. CAPS hmpp workbench, http://www.caps-entreprise.com/hmpp.html

  21. RapidMind, https://www.rapidmind.com (forwarded to Intel ArBB)

  22. Christadler, I., et al. (eds): PRACE Workshop New Languages and Future Technology Prototypes, Garching (2010), http://www.prace-project.eu/documents/prace_workshop_on_new_languages_and_future_technology_prototypes.pdf

  23. Strumpen, V., et. al.: PRACE-1IP Deliverable D9.2.1 First report on multi-Peta to Exascale software, http://www.prace-project.eu/documents/public-deliverables-1/

  24. Intel ArBB, http://software.intel.com/en-us/articles/intel-array-building-blocks/

  25. Sai Saigar, R., et al.: PRACE-PP Deliverable D8.3.2 Final technical report and architecture proposal, http://www.prace-project.eu/documents/public-deliverables/d8-3-2-extended.pdf

  26. Dongarra, J., et al. (eds): CT Watch Quarterly. High Productivity Computing Systems and the Path Towards Usable Petascale Computing Part A 2(4A) (2006), http://www.ctwatch.org/quarterly/pdf/ctwatchquarterly-8.pdf

  27. Squires, S., et al.: Software Productivity Research in High-Performance Com putingi. CT Watch Quarterly 2(4A), 52–61 (2006)

    Google Scholar 

  28. Hochstein, L., et al.: Experiments to Understand HPC Time to Development. CT Watch Quarterly 2(4A), 24–32 (2006)

    Google Scholar 

  29. Christadler, I., Weinberg, V.: RapidMind: Portability across Architectures and Its Limitations. In: Keller, R., et al. (eds.) Facing the Multicore-Challenge. LNCS, vol. 6310, pp. 4–15. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  30. Tesla M-Class GPU Computing Modules (“Fermi”), http://www.nvidia.com/docs/IO/105880/DSTesla-M2090LR.pdf

  31. The Cilk Project, http://supertech.csail.mit.edu/cilk/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Christadler, I., Erbacci, G., Simpson, A.D. (2012). Performance and Productivity of New Programming Languages. In: Keller, R., Kramer, D., Weiss, JP. (eds) Facing the Multicore - Challenge II. Lecture Notes in Computer Science, vol 7174. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30397-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30397-5_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30396-8

  • Online ISBN: 978-3-642-30397-5

  • eBook Packages: Computer ScienceComputer Science (R0)