Author:
Blelloch Guy E.,Hardwick Jonathan C.,Chatterjee Siddhartha,Sipelstein Jay,Zagha Marco
Abstract
This paper gives an overview of the implementation of NESL, a portable nested data-parallel language. This language and its implementation are the first to fully support nested data structures as well as nested data-parallel function calls. These features allow the concise description of parallel algorithms on irregular data, such as sparse matrices and graphs. In addition, they maintain the advantages of data-parallel languages: a simple programming model and portability. The current NESL implementation is based on an intermediate language called VCODE and a library of vector routines called CVL. It runs on the Connection Machine CM-2, the Cray Y-MP C90, and serial machines. We compare initial benchmark results of NESL with those of machine-specific code on these machines for three algorithms: least-squares line-fitting, median finding, and a sparse-matrix vector product. These results show that NESL's performance is competitive with that of machine-specific codes for regular dense data, and is often superior for irregular data.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. When Is Parallelism Fearless and Zero-Cost with Rust?;Proceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures;2024-06-17
2. Brief Announcement: Is the Problem-Based Benchmark Suite Fearless with Rust?;Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures;2023-06-17
3. Order Analysis for Translating NESL Programs into Efficient GPU Code;Communications in Computer and Information Science;2019
4. Evaluating end-to-end optimization for data analytics applications in weld;Proceedings of the VLDB Endowment;2018-05
5. On the Load Balancing Techniques for GPU Applications Based on Prefix-Scan;2015 IEEE 9th International Symposium on Embedded Multicore/Many-core Systems-on-Chip;2015-09