| Jaswinder Pal Singh, Wolf-Dietrich Weber and Anoop Gupta
SPLASH is a set of parallel applications designed for shared-memory multiprocessing systems. The applications are intended to serve as a well-documented and consistent basis for evaluating system performance. They are drawn from various scientific and engineering domains and are intended to help architects and software developers in the design of shared-memory systems. The applications are written in C and FORTRAN, using parmacs macros for parallel constructs. They assume a number of tasks (Unix processes) operating on a single shared address space. The programs use static scheduling, task queues, or self-scheduled loops for parallelism and synchronization structures such as locks and barriers. The applications are designed for small to medium-scale machines and may require restructuring to run efficiently on larger multiprocessors.
The SPLASH suite includes applications for scientific computing and computer-aided design. The applications are characterized by their domain, behavioral characteristics, and performance. The suite includes applications such as Ocean, Water, Barnes-Hut, MP3D, Cholesky, LocusRoute, and PTHOR. The applications are evaluated on the Encore Multimax and a simulator of an idealized parallel architecture. The evaluation includes performance results and behavioral statistics. The applications are designed to be representative of real-world applications and are intended to be used as a common reference point for the parallel processing community.
The applications are characterized by their partitioning and scheduling, synchronization, granularity of parallelism, computational scalability, and data locality. The applications are evaluated for their performance on the Encore Multimax and a simulator. The results show that the applications scale well with increasing numbers of processors. The applications are also evaluated for their communication patterns and data sharing. The applications are designed to be run on a variety of machines and are intended to be used for benchmarking and evaluation studies. The applications are expected to evolve over time and be modified for different evaluation studies. The applications are described in detail, including their problem domains, data structures, and performance results. The applications are intended to be used as a common reference point for the parallel processing community.SPLASH is a set of parallel applications designed for shared-memory multiprocessing systems. The applications are intended to serve as a well-documented and consistent basis for evaluating system performance. They are drawn from various scientific and engineering domains and are intended to help architects and software developers in the design of shared-memory systems. The applications are written in C and FORTRAN, using parmacs macros for parallel constructs. They assume a number of tasks (Unix processes) operating on a single shared address space. The programs use static scheduling, task queues, or self-scheduled loops for parallelism and synchronization structures such as locks and barriers. The applications are designed for small to medium-scale machines and may require restructuring to run efficiently on larger multiprocessors.
The SPLASH suite includes applications for scientific computing and computer-aided design. The applications are characterized by their domain, behavioral characteristics, and performance. The suite includes applications such as Ocean, Water, Barnes-Hut, MP3D, Cholesky, LocusRoute, and PTHOR. The applications are evaluated on the Encore Multimax and a simulator of an idealized parallel architecture. The evaluation includes performance results and behavioral statistics. The applications are designed to be representative of real-world applications and are intended to be used as a common reference point for the parallel processing community.
The applications are characterized by their partitioning and scheduling, synchronization, granularity of parallelism, computational scalability, and data locality. The applications are evaluated for their performance on the Encore Multimax and a simulator. The results show that the applications scale well with increasing numbers of processors. The applications are also evaluated for their communication patterns and data sharing. The applications are designed to be run on a variety of machines and are intended to be used for benchmarking and evaluation studies. The applications are expected to evolve over time and be modified for different evaluation studies. The applications are described in detail, including their problem domains, data structures, and performance results. The applications are intended to be used as a common reference point for the parallel processing community.