Skip to main content

Xevolver: A User-Defined Code Transformation Approach to Streamlining Legacy Code Migration

  • Chapter
  • First Online:
Advanced Software Technologies for Post-Peta Scale Computing

Abstract

Since different systems usually require different performance optimizations, an application code is likely “specialized” for a particular system configuration to fully extract the system performance. This is one major reason why migration of an existing application code, so-called legacy code migration, is so labor-intensive and error-prone especially in the high-performance computing (HPC) area. To make matters worse, the diversity of system architectures would increase the number of system configurations that have to be considered during the life of an application. As a result, the increasing system complexity and diversity will force programmers to further invest enormous time and effort on HPC application development and maintenance. For long-term software development and maintenance, an HPC application code should not be optimized for a particular system configuration. However, simply excluding system-awareness from the code just results in reducing the performance, because system-awareness can be regarded as the necessary information to exploit the performance of the target system. The goal of this project is to express system-awareness separately from the HPC application code to achieve high performance while keeping the code maintainability. To this end, we have been developing a code transformation framework, Xevolver, so that users can express system-awareness as user-defined code transformation rules separately from HPC application codes. By defining custom code transformations for individual cases, an HPC application code itself does not need to be modified for each system configuration and is transformed for each system by using the code transformations defined separately from the code.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Notes

  1. 1.

    In the case study, some OpenACC directives are also needed, but not shown in the example for simplicity.

References

  1. Bailey, D.H.: FFTs in external or hierarchical memory. J. Supercomput. 4, 23–35 (1990)

    Article  Google Scholar 

  2. Egawa, R., Komatsu, K., Momose, S., Isobe, Y., Musa, A., Takizawa, H., Kobayashi, H.: Potential of a modern vector supercomputer for practical applications: performance evaluation of sx-ace. J. Supercomput. 73(9), 3948–3976 (2017). https://doi.org/10.1007/s11227-017-1993-y

    Article  Google Scholar 

  3. Farber, R. (ed.): Parallel Programming with OpenACC. Morgan Kaufmann, Cambridge (2016)

    Google Scholar 

  4. FFTW home page. http://www.fftw.org/

  5. Intel Corporation: Intel architecture instruction set extensions programming reference (2016). https://software.intel.com/sites/default/files/managed/26/40/319433-026.pdf

    Google Scholar 

  6. Kay, M.: XSLT 2.0 and XPath 2.0 Programmer’s Reference (Programmer to Programmer), 4th edn., Wiley, Indianapolis (2008)

    Google Scholar 

  7. Kojima, K., Hirata, A., Hasegawa, K., Kodera, S., Laakso, I., Sasaki, D., Yamashita, T., Egawa, R., Horie, Y., Yazaki, N., Kowata, S., Taguchi, K., Kashiwa, T.: Risk management of heatstroke based on fast computation of temperature and water loss using weather data for exposure to ambient heat and solar radiation. IEEE Access 6, 3774–3785 (2018). https://doi.org/10.1109/ACCESS.2018.2791962

    Article  Google Scholar 

  8. Komatsu, K., Egawa, R., Hirasawa, S., Takizawa, H., Itakura, K., Kobayashi, H.: Migration of an atmospheric simulation code to an OpenACC platform using the Xevolver framework. In: The Third International Symposium on Computing and Networking, International Workshop on Legacy HPC Application Migration (LHAM2015), pp. 515–520 (2015)

    Google Scholar 

  9. Komatsu, K., Egawa, R., Hirasawa, S., Takizawa, H., Itakura, K., Kobayashi, H.: Translation of large-scale simulation codes for an OpenACC platform using the Xevolver framework. Int. J. Netw. Comput. 6(2), 167–180 (2016)

    Article  Google Scholar 

  10. Miyake, S., Yamamoto, S., Sasao, Y., Momma, K., Miyawaki, T., Ooyama, H.: Unsteady flow effect on nonequilibrium condensation in 3-D low pressure steam turbine stages. In: ASME Turbo Expo 2013, San Antonio (2013)

    Google Scholar 

  11. MVAPICH: MPI over InfiniBand, omni-path, ethernet/iWARP, and RoCE. http://mvapich.cse.ohio-state.edu/

  12. Nukada, A., Matsuoka, S.: Auto-tuning 3-D FFT library for CUDA GPUs. In: Proceedings of Conference on High Performance Computing Networking, Storage and Analysis (SC’09), Portland (2009)

    Google Scholar 

  13. NVIDIA Corporation: CUFFT library user’s guide (2017). http://docs.nvidia.com/cuda/pdf/CUFFT_Library.pdf

    Google Scholar 

  14. OpenMP Architecture Review Board: OpenMP application program interface. http://www.openmp.org/mp-documents/spec30.pdf

  15. Sodani, A., et al.: Knights landing: second-generation Intel Xeon Phi product. IEEE Micro 36, 34–46 (2016)

    Article  Google Scholar 

  16. Suda, R., Takizawa, H., Hirasawa, S.: Xevtgen: fortran code transformer generator for high performance scientific codes. Int. J. Netw. Comput. 6(2), 263–289 (2016)

    Article  Google Scholar 

  17. Takahashi, D.: FFTE: a fast Fourier transform package. http://www.ffte.jp/

  18. Takizawa, H., Hirasawa, S., Hayashi, Y., Egawa, R., Kobayashi, H.: Xevolver: an XML-based code translation framework for supporting HPC application migration. In: IEEE International Conference on High Performance Computing (HiPC), Goa (2014)

    Google Scholar 

  19. Takizawa, H., Yamada, T., Hirasawa, S., Suda, R.: A use case of a code transformation rule generator for data layout optimization. In: Sustained Simulation Performance 2016, pp. 21–30. Springer, Berlin/Heidelberg (2016)

    Google Scholar 

  20. Takizawa, H., Reimann, T., Komatsu, K., Soga, T., Egawa, R., Musa, A., Kobayashi, H.: Vectorization-aware loop optimization with user-defined code transformations. In: Workshop on Re-emergence of Vector Architectures (REV-A), Honolulu, pp. 685–692 (2017)

    Google Scholar 

  21. The Xevolver Project: JST CREST “an evolutionary approach to construction of a software development environment for massively-parallel heterogeneous systems” (2011). http://xev.arch.is.tohoku.ac.jp/

  22. The XSLT C library for GNOME. http://xmlsoft.org/libxslt/

Download references

Acknowledgements

The authors would like to sincerely thank all the members of the Xevolver project for their significant contributions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hiroyuki Takizawa .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Takizawa, H., Suda, R., Takahashi, D., Egawa, R. (2019). Xevolver: A User-Defined Code Transformation Approach to Streamlining Legacy Code Migration. In: Sato, M. (eds) Advanced Software Technologies for Post-Peta Scale Computing. Springer, Singapore. https://doi.org/10.1007/978-981-13-1924-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-1924-2_9

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-1923-5

  • Online ISBN: 978-981-13-1924-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics