Abstract
This chapter focuses on the several data parallel and supportive communication languages. The programmer of a distributed-memory multiprocessor has invoked various system primitives to send messages among processes executing on different nodes, resulting in a message-passing program. To simplify the programmer's task and improve code portability, an alternative approach has been pursued whereby a sophisticated compiler generates data movement operations from shared-memory parallel programs. To support a portable and scalable software design across different platforms, the data parallel programming model that is characterized by executing the same program on different processors with different data, is considered the most promising programming model for multicomputers. Several data parallel languages have been proposed, including Fortran D, Vienna Fortran, Distributed Fortran 90, Cray MPP Fortran, CM Fortran, and High Performance Fortran (HPF). These languages support a variety of global data movement and process control operations. Such operations include replication, reduction, segmented scan, and permutation. In addition to data manipulation operations, control operations such as barrier synchronization and global conditionals, are an essential part of data parallel programming.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have