Performance vs Programming Effort between Rust and C on Multicore Architectures: Case Study in N-Body

07/26/2021
by   Manuel Costanzo, et al.
0

Historically, Fortran and C have been the default programming languages in High-Performance Computing (HPC). In both, programmers have primitives and functions available that allow manipulating system memory and interacting directly with the underlying hardware, resulting in efficient code in both response times and resource use. On the other hand, it is a real challenge to generate code that is maintainable and scalable over time in these types of languages. In 2010, Rust emerged as a new programming language designed for concurrent and secure applications, which adopts features of procedural, object-oriented and functional languages. Among its design principles, Rust is aimed at matching C in terms of efficiency, but with increased code security and productivity. This paper presents a comparative study between C and Rust in terms of performance and programming effort, selecting as a case study the simulation of N computational bodies (N-Body), a popular problem in the HPC community. Based on the experimental work, it was possible to establish that Rust is a language that reduces programming effort while maintaining acceptable performance levels, meaning that it is a possible alternative to C for HPC.

READ FULL TEXT

page 6

page 7

page 8

page 9

page 10

page 12

page 13

page 15

research
11/04/2022

Bridging HPC Communities through the Julia Programming Language

The Julia programming language has evolved into a modern alternative to ...
research
04/12/2023

Programming Language Assisted Waveform Analysis: A Case Study on the Instruction Performance of SERV

RISC-Vs growing traction leads to the release of new RISC-V cores on a n...
research
10/13/2020

mdspan in C++: A Case Study in the Integration of Performance Portable Features into International Language Standards

Multi-dimensional arrays are ubiquitous in high-performance computing (H...
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
03/15/2023

Transformer Models for Type Inference in the Simply Typed Lambda Calculus: A Case Study in Deep Learning for Code

Despite a growing body of work at the intersection of deep learning and ...
research
03/25/2022

Aspect-Oriented Programming based building block platform to construct Domain-Specific Language for HPC application

The world of HPC systems is changing to a more complicated system becaus...

Please sign up or login with your details

Forgot password? Click here to reset