Modeling Parallel Programs using Large Language Models

06/29/2023
by   Daniel Nichols, et al.
0

Parallel software codes in high performance computing (HPC) continue to grow in complexity and scale as we enter the exascale era. A diverse set of emerging hardware and programming paradigms make developing, optimizing, and maintaining parallel software burdensome for developers. One way to alleviate some of these burdens is with automated development and analysis tools. Such tools can perform complex and/or remedial tasks for developers that increase their productivity and decrease the chance for error. So far, such tools for code development and performance analysis have been limited in the complexity of tasks they can perform. However, with recent advancements in language modeling, and the wealth of code related data that is now available online, these tools have started to utilize predictive language models to automate more complex tasks. In this paper, we show how large language models (LLMs) can be applied to tasks specific to high performance and scientific codes. We train LLMs using code and performance data that is specific to parallel codes. We compare several recent LLMs on HPC related tasks and introduce a new model, HPC-Coder, trained on parallel code. In our experiments we show that this model can auto-complete HPC functions where general models cannot, decorate for loops with OpenMP pragmas, and model performance changes in two scientific application repositories.

READ FULL TEXT

page 4

page 7

page 8

page 9

page 10

research
06/26/2023

LM4HPC: Towards Effective Language Model Application in High-Performance Computing

In recent years, language models (LMs), such as GPT-4, have been widely ...
research
05/22/2019

FQL: An Extensible Feature Query Language and Toolkit on Searching Software Characteristics for HPC Applications

The amount of large-scale scientific computing software is dramatically ...
research
08/26/2016

Containers for portable, productive and performant scientific computing

Containers are an emerging technology that hold promise for improving pr...
research
08/18/2023

Scope is all you need: Transforming LLMs for HPC Code

With easier access to powerful compute resources, there is a growing tre...
research
06/25/2021

FLASH 1.0: A Software Framework for Rapid Parallel Deployment and Enhancing Host Code Portability in Heterogeneous Computing

In this paper, we present FLASH 1.0, a C++-based software framework for ...
research
04/26/2022

Automated Generation of High-Performance Computational Fluid Dynamics Codes

Domain-Specific Languages (DSLs) improve programmers productivity by dec...
research
11/29/2019

Using performance analysis tools for parallel-in-time integrators – Does my time-parallel code do what I think it does?

While many ideas and proofs of concept for parallel-in-time integration ...

Please sign up or login with your details

Forgot password? Click here to reset