Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
ACM SIGPLAN Notices
Common LISP: the language
ACM Transactions on Mathematical Software (TOMS)
How to write parallel programs: a guide to the perplexed
ACM Computing Surveys (CSUR)
Compiling collection-oriented languages onto massively parallel computers
Journal of Parallel and Distributed Computing - Massively parallel computation
Concurrent object-oriented programming
Communications of the ACM
Vector models for data-parallel computing
Vector models for data-parallel computing
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
APL '90 Conference proceedings on APL 90: for the future
Scan primitives for vector computers
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Size and access inference for data-parallel programs
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
Compiling data-parallel programs for efficient execution on shared-memory multiprocessors
Compiling data-parallel programs for efficient execution on shared-memory multiprocessors
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Communications of the ACM
Efficient Implementation of high-level parallel programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
The Paralation Model: Architecture-Independent Parallel Programming
The Paralation Model: Architecture-Independent Parallel Programming
Data-Parallel Programming on Multicomputers
IEEE Software
NESL: A Nested Data-Parallel Language
NESL: A Nested Data-Parallel Language
Implementation of a Portable Nested Data-Parallel Language
Implementation of a Portable Nested Data-Parallel Language
Class Notes: Programming Parallel Algorithms CS 15-840B (Fall 1992)
Class Notes: Programming Parallel Algorithms CS 15-840B (Fall 1992)
CVL: A C Vector Library Manual: Version 2
CVL: A C Vector Library Manual: Version 2
Efficient low-contention parallel algorithms
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Compiling polymorphism using intensional type analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flattening and parallelizing irregular, recurrent loop nests
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Can parallel algorithms enhance serial implementation?
Communications of the ACM
Improved methods for hiding latency in high bandwidth networks (extended abstract)
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Automatic methods for hiding latency in high bandwidth networks (extended abstract)
STOC '96 Proceedings of the twenty-eighth annual ACM symposium on Theory of computing
From algorithm parallelism to instruction-level parallelism: an encode-decode chain using prefix-sum
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
The design, implementation, and evaluation of Jade
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Parallel and Distributed Systems
A Programming Methodology for Dual-Tier Multicomputers
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
A Design Methodology for Data-Parallel Applications
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
Adaptive data parallel methods for ecosystem monitoring
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Application of the Polytope Model to Functional Programs
LCPC '99 Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing
Towards an Operational Semantics for a Parallel Non-Strict Functional Language
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
HPF vs. SAC - A Case Study (Research Note)
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Algorithm + strategy = parallelism
Journal of Functional Programming
A framework for adaptive algorithm selection in STAPL
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Loci: a rule-based framework for parallel multi-disciplinary simulation synthesis
Journal of Functional Programming
Simplifying cyber foraging for mobile devices
Proceedings of the 5th international conference on Mobile systems, applications and services
NUMACROS: data parallel programming on NUMA multiprocessors
Sedms'93 USENIX Systems on USENIX Experiences with Distributed and Multiprocessor Systems - Volume 4
Lazy binary-splitting: a run-time adaptive work-stealing scheduler
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
STAPL: standard template adaptive parallel library
Proceedings of the 3rd Annual Haifa Experimental Systems Conference
Structured parallel programming with deterministic patterns
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Back to the futures: incremental parallelization of existing sequential runtime systems
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Parallel SAH k-D tree construction
Proceedings of the Conference on High Performance Graphics
Simple optimizations for an applicative array language for graphics processors
Proceedings of the sixth workshop on Declarative aspects of multicore programming
Spatial hardware implementation for sparse graph algorithms in GraphStep
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Extending a C-like language for portable SIMD programming
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded language
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Hi-index | 0.02 |
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.