Skip to main content

Buildtest: A Software Testing Framework with Module Operations for HPC Systems

  • Conference paper
  • First Online:
  • 511 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1190))

Abstract

HPC support teams are often tasked with installing scientific software for their user community and the complexity of managing a large software stack gets very challenging. Software installation brings forth many challenges that requires a team of domain expertise and countless hours troubleshooting to build an optimal software state that is tuned to the architecture. In the past decade, two software build tools (Easybuild, Spack) have emerged that are widely accepted in HPC community to accelerate building a complete software stack for HPC systems. The support team are constantly involved in fulfilling software request for end-users which leads to an ever-growing software ecosystem. Once a software is installed, the support team hands it off to the user without any testing because scientific software requires domain expertise in order to test software. Some software packages are shipped with a test suite that can be run at post build while many software have no mechanism for testing. This poses a knowledge gap between HPC support team and end-users on the type of testing to do. Some HPC centers may have developed in-house test scripts that are suitable for testing their software, but these tests are not portable due to hardcoded paths and are often site dependent. In addition, there is no collaboration between HPC sites in building a test repository that will benefit the community. This paper presents buildtest, a framework to automate software testing for a software stack along with several module operations that would be of interest to the HPC support team.

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 EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

References

  1. Furlani, J.L.: Modules: providing a flexible user environment. In: Proceedings of the Fifth Large Installation Systems Administration Conference (LISA V), pp. 141–152 (1991)

    Google Scholar 

  2. Furlani, J.L., Osel, P.W.: Abstract yourself with modules. In: Proceeding of the Tenth Large Installation System Administration (LISA 1996), pp. 193–204 (1996)

    Google Scholar 

  3. Geimer, M., Hoste, K., McLay, R.: Modern scientific software management using EasyBuild and Lmod. In: 2014 First International Workshop on HPC User Support Tools (2014). https://doi.org/10.1109/hust.2014.8

  4. Hoste, K., Timmerman, J., Georges, A., Weirdt, S.D.: EasyBuild: building software with ease. In: 2012 SC Companion: High Performance Computing, Networking Storage and Analysis (2012). https://doi.org/10.1109/sc.companion.2012.81

  5. Gamblin, T., et al.: The Spack package manager. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis - SC 2015 (2015). https://doi.org/10.1145/2807591.2807623

  6. List of build automation software. https://en.wikipedia.org/wiki/List_of_build_automation_software

  7. GNU make. https://www.gnu.org/software/make/manual/make.html

  8. CMake Documentation. https://cmake.org/documentation/

  9. Autoconf. https://www.gnu.org/software/autoconf/

  10. Buildtest. https://github.com/HPC-buildtest/buildtest-framework

  11. Buildtest Documentation. https://buildtest.readthedocs.io/en/latest/

  12. The spider tool. https://lmod.readthedocs.io/en/latest/136_spider.html

  13. Configuring buildtest. https://buildtest.readthedocs.io/en/latest/configuring_buildtest.html

  14. Show Keys. https://buildtest.readthedocs.io/en/latest/introspection.html#show-keys

  15. User Collections. https://lmod.readthedocs.io/en/latest/010_user.html#user-collections

  16. MPI and UPC User Guide. https://slurm.schedmd.com/mpi_guide.html#intel_mpi

  17. Best Practices Using MPI under IBM Platform LSF. https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/99245193-fced-40e5-90df-a0e9f50a0fb0/page/359ab0d9-7849-4c6a-8cb8-7a62050b5222/attachment/5c2eb892-b60e-4601-8548-2e836818c0a5/media/Platform_BPG_LSF_MPI_v2.pdf

  18. Buildtest, Managing a Test Repository. https://github.com/HPC-buildtest/buildtest-framework/wiki/Managing-a-Test-Repository

  19. Besseron, X.: Automatic Testing of Installed Software. FOSDEM 2014. https://archive.fosdem.org/2014/schedule/event/hpc_devroom_automatic_testing/

  20. Idaho National Laboratory: hpcswtest. https://github.com/idaholab/hpcswtest

  21. Swiss National Supercomputing Center (CSCS): ReFrame. https://github.com/eth-cscs/reframe

  22. ReFrame Documentation. https://reframe-hpc.readthedocs.io/en/stable/

  23. Build Examples. https://buildtest.readthedocs.io/en/devel/build_subcommand/build_examples.html

  24. OSU Microbenchmark. https://buildtest.readthedocs.io/en/devel/benchmark_subcommand/osu.html

  25. YAML. https://yaml.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shahzeb Siddiqui .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Siddiqui, S. (2020). Buildtest: A Software Testing Framework with Module Operations for HPC Systems. In: Juckeland, G., Chandrasekaran, S. (eds) Tools and Techniques for High Performance Computing. HUST SE-HER WIHPC 2019 2019 2019. Communications in Computer and Information Science, vol 1190. Springer, Cham. https://doi.org/10.1007/978-3-030-44728-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-44728-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-44727-4

  • Online ISBN: 978-3-030-44728-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics