HPC Software Survey: Compilers and Developer Tools

EXECUTIVE SUMMARY

Intersect360 Research surveyed the High Performance Computing (HPC) user community on their software usage for HPC. The complete study analyzes users’ current operating systems, middleware, developer tools, and primary applications across 11 different application domains, including:

  • the overall mix of in-house, open-source, and commercial software
  • the mix of public cloud versus on-premises computing, by application
  • scalability and performance on various processing elements, by application domain
  • the overall adoption of machine learning.

Our goal in this analysis is to provide an in-depth analysis of how HPC software trends. Intersect360 Research surveyed members of the HPC user community worldwide across industry, government, and academia.  The survey was conducted in the fourth quarter of 2021 and received responses from 238 qualified sites, yielding tens of thousands of data points for analysis with respect to HPC software.

Intersect360 Research defines HPC as the use of servers, clusters, and supercomputers—plus associated software, tools, components, storage, and services—for scientific, engineering, or analytical tasks that are particularly intensive in computation, memory usage, or data management. Intersect360 Research reports available in this HPC Technology Survey report series include the following segmentations:

  • Operating Systems and Middleware: including operating systems, HPC job management tools, workflow and workload management tools, and software for cluster management, monitoring, and provisioning
  • Compilers and Developer Tools: including languages, compilers, and programming environments for HPC software development
  • AI Adoption: including machine learning frameworks and current levels of organizational AI engagement
  • Primary Application Software: 11 distinct reports covering applications used, typical and maximum job scalability, affinity to cloud computing, and impressions of performance by processor type, for 11 application domains, as follows:
    • Primary Application Software—Biosciences: including pharmaceuticals, biochemistry, genomics, agricultural engineering, cryo-EM, etc.
    • Primary Application Software—Business Analytics
    • Primary Application Software—Chemistry
    • Primary Application Software—Computational Fluid Dynamics (CFD)
    • Primary Application Software—Engineering: including computer-aided engineering (CAE), finite element analysis (FEA), noise-vibration-harshness testing (NVH), materials science, etc.
    • Primary Application Software—Finance: including banking, trading, pricing, risk management and value-at-risk (VaR), econometric modeling, insurance, etc.
    • Primary Application Software—Geophysics: including seismic modeling, reservoir simulation, geology, etc.
    • Primary Application Software—Physics: including pharmaceuticals, biochemistry, genomics, agricultural engineering, cryo-EM, etc.
    • Primary Application Software—Scientific Research: including general fields of scientific inquiry not covered elsewhere
    • Primary Application Software—Visualization
    • Primary Application Software—Weather and Climate Modeling: including earth science and ocean modeling

This report provides a detailed examination of compilers and developer tools used in HPC, including the languages that represent both active development and maintenance of HPC applications. The report is divided into sections: compilers, MPI mechanisms, and workflow tools and integrated development environments (IDEs), and other tools and frameworks for development. For each, respondents selected from common packages, listed based on their presence in previous surveys, or wrote in additional packages not listed. Intersect360 Research clients are encouraged to review the data and insights in this report in planning their future developments for all HPC technologies and services.

TABLE OF CONTENTS

EXECUTIVE SUMMARY                                                                                                                   2

TABLE OF CONTENTS                                                                                                                      4

INTRODUCTION                                                                                                                             6

Methodology                                                                                                                                 6

What Is HPC?                                                                                                                                 8

PROGRAMMING LANGUAGES                                                                                                        9

Figure 1: Proportion of Commercial, In-House, and Open-Source Software by Sector                          9

Figure 2: Proportion of Commercial, In-House, and Open-Source Software Across Survey Population, 2010 vs. Today          10

Figure 3: Percentage of Respondents Reporting Active Development vs Maintenance of Programming Languages     11

Table 1: Percentage of Respondents Reporting Active Development vs Maintenance of Programming Languages: All Respondents     12

Table 2: Programming Languages by Sector: Commercial/Industrial                                                 12

Table 3: Programming Languages by Sector: Academic and Not-for-Profit Research                          13

Table 4: Programming Languages by Sector: Government                                                                13

DEVELOPMENT TOOLS                                                                                                                  14

Compilers                                                                                                                                     14

Table 5: Usage of Compilers                                                                                                           14

MPI Mechanisms                                                                                                                           15

Table 6: Usage of MPI Mechanisms                                                                                                  15

HPC Workflow Development Tools, IDEs                                                                                       16

Table 7: Usage of HPC Workflow Tools                                                                                          16

Additional HPC Development Tools and Frameworks                                                                     17

Figure 4: Additional Tools for Development in HPC Environments                                                    17

CONCLUSIONS                                                                                                                              18

APPENDIX A: SURVEY DEMOGRAPHICS                                                                                         19

Figure A1: Economic Sector of Respondent Organization                                                                 19

Figure A2: Number of Employees for Respondent Site and Organization                                             19

Figure A3: Annual HPC Budget for Respondent Site and Organization                                               20

Figure A4: Role of Survey Respondent in Organization                                                                     20

Figure A5: HPC Software Purchasing Responsibility of Respondent                                                    21