Comparative Analysis of OpenACC Compilers

  • Daniel Barba
  • Arturo Gonzalez-Escribano
  • Diego R. Llanos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10049)

Abstract

OpenACC has been on development for a few years now. The OpenACC 2.5 specification was recently made public and there are some initiatives for developing full implementations of the standard to make use of accelerator capabilities. There is much to be done yet, but currently, OpenACC for GPUs is reaching a good maturity level in various implementations of the standard, using CUDA and OpenCL as backends. Nvidia is investing in this project and they have released an OpenACC Toolkit, including the PGI Compiler. There are, however, more developments out there. In this work, we analyze different available OpenACC compilers that have been developed by companies or universities during the last years. We check their performance and maturity, keeping in mind that OpenACC is designed to be used without extensive knowledge about parallel programming. Our results show that the compilers are on their way to a reasonable maturity, presenting different strengths and weaknesses.

References

  1. 1.
    OpenACC-standard.org, About OpenACCGoogle Scholar
  2. 2.
    OpenACC-Standard.org, The OpenACC application programming interface version 2.5, October 2015Google Scholar
  3. 3.
    Tian, X., Xu, R., Yan, Y., Yun, Z., Chandrasekaran, S., Chapman, B.: Compiling a high-level directive-based programming model for GPGPUs. In: Caşcaval, C., Montesinos, P. (eds.) LCPC 2013. LNCS, vol. 8664, pp. 105–120. Springer, Heidelberg (2014). doi:10.1007/978-3-319-09967-5_6 Google Scholar
  4. 4.
    Reyes, R., López-Rodríguez, I., Fumero, J.J., Sande, F.: accULL: an OpenACC implementation with CUDA and OpenCL support. In: Kaklamanis, C., Papatheodorou, T., Spirakis, P.G. (eds.) Euro-Par 2012. LNCS, vol. 7484, pp. 871–882. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32820-6_86 CrossRefGoogle Scholar
  5. 5.
    Grillo, L., de Sande, F., Reyes, R.: Performance evaluation of OpenACC compilers. In: 2014 22nd Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 656–663, February 2014Google Scholar
  6. 6.
    Pathscale, Rodinia benchmark suite 2.1 with OpenACC port, April 2014. https://github.com/pathscale/rodinia
  7. 7.
    Wang, C., Xu, R., Chandrasekaran, S., Chapman, B., Hernandez, O.: A validation testsuite for OpenACC 1.0. In: 2014 IEEE International Parallel Distributed Processing Symposium Workshops (IPDPSW), pp. 1407–1416, May 2014Google Scholar
  8. 8.
    PGI, Pgi accelerator compilers with OpenACC directives. https://www.pgroup.com/resources/accel.htm, November 2015
  9. 9.
    Universidad de La Laguna: YaCF, November 2015. https://bitbucket.org/ruyman/llcomp
  10. 10.
    Universidad de La Laguna: Frangollo, November 2015. https://bitbucket.org/ruyman/frangollo
  11. 11.
    EPCC, Epcc OpenACC benchmark suite, September 2013. https://github.com/EPCCed/epcc-openacc-benchmarks
  12. 12.
    Grauer-Gray, S., Xu, L., Searles, R., Ayalasomayajula, S., Cavazos, J.: Auto-tuning a high-level language targeted to GPU codes. In: 2012 Innovative Parallel Computing (InPar), pp. 1–10. IEEE (2012)Google Scholar
  13. 13.
    Pouchet, L.-N.: Polybench: the polyhedral benchmark suite, July 2012. http://www.cs.ucla.edu/~pouchet/software/polybench/
  14. 14.
    Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Lee, S.-H., Skadron, K.: Rodinia: a benchmark suite for heterogeneous computing. In: 2009 IEEE International Symposium on Workload Characterization (IISWC 2009), pp. 44–54. IEEE (2009)Google Scholar
  15. 15.
    Che, S., Sheaffer, J.W., Boyer, M., Szafaryn, L.G., Wang, L., Skadron, K.: A characterization of the Rodinia benchmark suite with comparison to contemporary CMP workloads. In: 2010 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–11. IEEE (2010)Google Scholar
  16. 16.
    University of Houston, Open-source UH compiler, November 2015. http://web.cs.uh.edu/~openuh/download/
  17. 17.
    Universidad de La Laguna, accULL, November 2015. http://cap.pcg.ull.es/es/accULL
  18. 18.
    Wienke, S., Springer, P., Terboven, C., Mey, D.: OpenACC — first experiences with real-world applications. In: Kaklamanis, C., Papatheodorou, T., Spirakis, P.G. (eds.) Euro-Par 2012. LNCS, vol. 7484, pp. 859–870. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32820-6_85 CrossRefGoogle Scholar
  19. 19.
    Hart, A., Ansaloni, R., Gray, A.: Porting and scaling OpenACC applications on massively-parallel, GPU-accelerated supercomputers. Eur. Phys. J. Spec. Top. 210(1), 5–16 (2012)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Daniel Barba
    • 1
  • Arturo Gonzalez-Escribano
    • 1
  • Diego R. Llanos
    • 1
  1. 1.Departamento de InformaticaUniversidad de ValladolidValladolidSpain

Personalised recommendations