Implementation of a portable nested data-parallel language

Implementation of a portable nested data-parallel language
复制标题

DOI:
10.1145/155332.155343
复制
发表时间:
1993-08
期刊:
--
影响因子:
--
通讯作者:
G. Blelloch;Jonathan C Hardwick;J. Sipelstein;M. Zagha;S. Chatterjee
G. Blelloch;Jonathan C Hardwick;J. Sipelstein;M. Zagha;S. Chatterjee
中科院分区:
其他
文献类型:
--
作者:
G. Blelloch;Jonathan C Hardwick;J. Sipelstein;M. Zagha;S. Chatterjee

文献摘要

被引文献

相似文献

本文给出了一个概述的实现NESL,一个可移植的嵌套数据并行语言。这种语言及其实现是第一个完全支持嵌套数据结构以及嵌套数据并行函数调用的语言。这些功能允许不规则数据,如稀疏矩阵和图形的并行算法的简洁描述。此外,它们保持了数据并行语言的优点:简单的编程模型和可移植性。目前的NESL实现是基于一个称为VCODE的中间语言和一个称为CVL的向量例程库。它在Connection Machine CM-2、Cray Y-MP C90和串行机器上运行。我们比较了NESL的初始基准测试结果与这些机器上的机器特定代码的三种算法:最小二乘线性拟合,中值查找和稀疏矩阵向量积。这些结果表明,NESL的性能是有竞争力的规则密集数据的机器特定的代码,往往是上级的不规则数据。
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.