Skip to main content

OmpSs-OpenCL Programming Model for Heterogeneous Systems

  • Conference paper

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

Abstract

The advent of heterogeneous computing has forced programmers to use platform specific programming paradigms in order to achieve maximum performance. This approach has a steep learning curve for programmers and also has detrimental influence on productivity and code re-usability. To help with this situation, OpenCL an open-source, parallel computing API for cross platform computations was conceived. OpenCL provides a homogeneous view of the computational resources (CPU and GPU) thereby enabling software portability across different platforms. Although OpenCL resolves software portability issues, the programming paradigm presents low programmability and additionally falls short in performance. In this paper we focus on integrating OpenCL framework with the OmpSs task based programming model using Nanos run time infrastructure to address these shortcomings. This would enable the programmer to skip cumbersome OpenCL constructs including OpenCL plaform creation, compilation, kernel building, kernel argument setting and memory transfers, instead write a sequential program with annotated pragmas. Our proposal mainly focuses on how to exploit the best of the underlying hardware platform with greater ease in programming and to gain significant performance using the data parallelism offered by the OpenCL run time for GPUs and multicore architectures. We have evaluated the platform with important benchmarks and have noticed substantial ease in programming with comparable performance.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OpenCL programming, http://www.khronos.org/registry/cl/specs/OpenCL-1.1.pdf

  2. Duran, A., Ayguadé, E., Badia, R.M., et al.: OmpSs: a Proposal for Programming Heterogeneous Multi-Core Architectures. Parallel Processing Letters, 173–193 (2011)

    Google Scholar 

  3. Perez, J.M., Badia, R.M., Labarta, J.: Handling task dependencies under strided and aliased references. In: Proceeding ICS 2010 Proceedings of the 24th ACM International Conference on Supercomputing (2010)

    Google Scholar 

  4. CUDA Programming, http://developer.download.nvidia.com/compute/cuda/4_0/toolkit/docs/CUDA_C_programming_Guide.pdf

  5. CELL Programming HandBook, https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/1741C509C5F64B3300257460006FD68D/$file/CellBE_PXCell_Handbook_v1.11_12May08_pub.pdf

  6. Parallel Program Visualization and Analysis Tool, http://www.bsc.es/media/1364.pdf

  7. Ayguadé, E., Badia, R.M., Igual, F.D., Labarta, J., Mayo, R., Quintana-Ortí, E.S.: An Extension of the StarSs Programming Model for Platforms with Multiple GPUs. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 851–862. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Munshi, A., Gaster, B.R., Mattson, T.G., Fung, J., Ginsburg, D.: OpenCL Programming Guide, 1st edn. Addison-Wesley Professional (July 25, 2011) ISBN-10: 0321749642

    Google Scholar 

  9. Lee, J., et al.: An OpenCL framework for heterogeneous multicores with local memory. In: Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, PACT (2010)

    Google Scholar 

  10. Grewe, D., O’Boyle, M.F.P.: A Static Task Partitioning Approach for Heterogeneous Systems Using OpenCL. In: Knoop, J. (ed.) CC 2011. LNCS, vol. 6601, pp. 286–305. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  11. Aoki, R., et al.: Hybrid OpenCL: Enhancing OpenCL for Distributed Processing. In: Parallel and Distributed Processing with Applications, ISPA (2011)

    Google Scholar 

  12. Gregg, C., et al.: Contention-Aware Scheduling of Parallel Code for Heterogeneous Systems. In: Poster at HotPar 2010 (2010)

    Google Scholar 

  13. http://software.intel.com/en-us/articles/opencl-device-fission-for-cpu-performance/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Elangovan, V.K., Badia, R.M., Parra, E.A. (2013). OmpSs-OpenCL Programming Model for Heterogeneous Systems. In: Kasahara, H., Kimura, K. (eds) Languages and Compilers for Parallel Computing. LCPC 2012. Lecture Notes in Computer Science, vol 7760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37658-0_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37658-0_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37657-3

  • Online ISBN: 978-3-642-37658-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics