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.
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, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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
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
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
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
Kennedy, K., et al.: Defining and Measuring the Productivity of Programming Languages. International Journal of High Performance Computing Applications 18 (2004)
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
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
Che, S., et al.: Rodinia: A benchmark suite for heterogeneous computing. In: IEEE International Symposium on Workload Characterization IISWC 2009, pp. 44–54 (2009)
The Euroben benchmark home page, http://www.euroben.nl/
Intel Math Kernel Library, http://software.intel.com/en-us/intel-mkl/
Carlson, W., et al.: UPC: Distributed Shared Memory Programming. Book of WileyInter-Science (2005)
Numrich, R.W., Reid, J.: Co-Array Fortran for Parallel Programming. ACM SIGPLAN Fortran Forum 17 (1998)
Dongarra, J., et al.: DARPA’s HPCS Program: History, Models, Tools, Languages. Advances in Computers (2008)
Chamberlain, B.L., et al.: Parallel Programmability and the Chapel Language. International Journal of High Performance Computing Applications 21 (2007)
X10 language, http://x10-lang.org
ClearSpeed Cn language, http://www.clearspeed.com
Perez, J.P.: CellSs: making it easier to program the cell broadband engine processor. IBM Journal of Research and Development 51 (2007)
Nvidia CUDA, http://www.nvidia.com/object/cuda_home.htm
OpenCL - The open standard for parallel programming of heterogeneous systems, http://www.khronos.org/opencl/
CAPS hmpp workbench, http://www.caps-entreprise.com/hmpp.html
RapidMind, https://www.rapidmind.com (forwarded to Intel ArBB)
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
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/
Intel ArBB, http://software.intel.com/en-us/articles/intel-array-building-blocks/
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
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
Squires, S., et al.: Software Productivity Research in High-Performance Com putingi. CT Watch Quarterly 2(4A), 52–61 (2006)
Hochstein, L., et al.: Experiments to Understand HPC Time to Development. CT Watch Quarterly 2(4A), 24–32 (2006)
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)
Tesla M-Class GPU Computing Modules (“Fermi”), http://www.nvidia.com/docs/IO/105880/DSTesla-M2090LR.pdf
The Cilk Project, http://supertech.csail.mit.edu/cilk/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)