A Partitioning Strategy for Nonuniform Problems on Multiprocessors
IEEE Transactions on Computers
Principles of runtime support for parallel processors
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Supporting shared data structures on distributed memory architectures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
The cache performance and optimizations of blocked algorithms
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Improved Algorithms for Mapping Pipelined and Parallel Computations
IEEE Transactions on Computers
The DINO parallel programming language
Journal of Parallel and Distributed Computing
Performance of dynamic load balancing algorithms for unstructured mesh calculations
Concurrency: Practice and Experience
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
The high performance Fortran handbook
The high performance Fortran handbook
Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Runtime compilation techniques for data partitioning and communication schedule reuse
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Compiling Fortran 90D/HPF for distributed memory MIMD computers
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
Communication optimizations for irregular scientific computations on distributed memory architectures
A manual for the CHAOS runtime library
A manual for the CHAOS runtime library
Parallelizing Loops with Indirect Array References of Pointers
Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing
Efficient support for irregular applications on distributed-memory machines
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Interprocedural compilation of irregular applications for distributed memory machines
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
A flexible operation execution model for shared distributed objects
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Experimental evaluation of efficient sparse matrix distributions
ICS '96 Proceedings of the 10th international conference on Supercomputing
Automating parallel runtime optimizations using post-mortem analysis
ICS '96 Proceedings of the 10th international conference on Supercomputing
The utility of exploiting idle workstations for parallel computation
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A task- and data-parallel programming language based on shared objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic node selection for high performance applications on networks
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Compiler-directed shared-memory communication for iterative parallel applications
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
Runtime and compiler support for irregular computations
Compiler optimizations for scalable parallel systems
A resource query interface for network-aware applications
Cluster Computing
Parallelization of Irregular Problems Based on Hierarchical Domain Representation
HPCN Europe 2000 Proceedings of the 8th International Conference on High-Performance Computing and Networking
Network-Aware Parallel Computing with Remos
LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
Optimizing I/O for Irregular Applications on Distributed-Memory Machines
ParNum '99 Proceedings of the 4th International ACPC Conference Including Special Tracks on Parallel Numerics and Parallel Computing in Image Processing, Video Processing, and Multimedia: Parallel Computation
Automatic Support for Irregular Computations in a High-Level Language
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Code composition as an implementation language for compilers
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Optimizing irregular shared-memory applications for clusters
Proceedings of the 22nd annual international conference on Supercomputing
Runtime address space computation for SDSM systems
LCPC'06 Proceedings of the 19th international conference on Languages and compilers for parallel computing
Analysis and performance results of computing betweenness centrality on IBM Cyclops64
The Journal of Supercomputing
Automatic CPU-GPU communication management and optimization
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Combining performance aspects of irregular gauss-seidel via sparse tiling
LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
Dynamically managed data for CPU-GPU architectures
Proceedings of the Tenth International Symposium on Code Generation and Optimization
A distributed dynamic load balancer for iterative applications
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hi-index | 0.00 |
In adaptive irregular problems, data arrays are accessed via indirection arrays, and data access patterns change during computation. Parallelizing such problems on distributed memory machines requires support for dynamic data partitioning, efficient preprocessing and fast data migration. This paper describes CHAOS, a library of efficient runtime primitives that provides such support. To demonstrate the effectiveness of the runtime support, two adaptive irregular applications have been parallelized using CHAOS primitives: a molecular dynamics code (CHARMM) and a code for simulating gas flows (DSMC). We have also proposed minor extensions to Fortran D which would enable compilers to parallelize irregular forall loops in such adaptive applications by embedding calls to primitives provided by a runtime library. We have implemented our proposed extensions in the Syracuse Fortran 90D/HPF prototype compiler, and have used the compiler to parallelize kernels from two adaptive applications.