TL;DR
This paper introduces a Rust implementation of the NAS Parallel Benchmarks, analyzing its performance and expressiveness, and comparing it with traditional Fortran and C++ versions for high-performance computing tasks.
Contribution
It provides the first Rust version of NPB, evaluates language features, and explores parallelization strategies for HPC benchmarking.
Findings
Rust's sequential NPB is slightly slower than Fortran.
Rust with Rayon is slower than Fortran and C++ with OpenMP.
The implementation offers insights into Rust's suitability for HPC applications.
Abstract
Parallel programming often requires developers to handle complex computational tasks that can yield many errors in its development cycle. Rust is a performant low-level language that promises memory safety guarantees with its compiler, making it an attractive option for HPC application developers. We identified that the Rust ecosystem could benefit from more comprehensive scientific benchmark suites for standardizing comparisons and research. The NAS Parallel Benchmarks (NPB) is a standardized suite for evaluating various hardware aspects and is often used to compare different frameworks for parallelism. Therefore, our contributions are a Rust version of NPB, an analysis of the expressiveness and performance of the language features, and parallelization strategies. We compare our implementation with consolidated sequential and parallel versions of NPB. Experimental results show that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
