Pompc: A C Language For Data Parallelism
暂无分享,去创建一个
POMPC is a parallel language dedicated to the programming of Massively Parallel Computers according to a synchronous Data Parallel model. It is an extension of the ANSI C language and follows its philosophy. Parallelism is explicitly handled by the definition of collections of parallel variables and the definition of communication primitives. A methodology is presented in order to easily port the language on different target architectures. Virtualization is introduced to handle simultaneously several collections of different sizes and shapes. Virtualization management is a key point of the compilation process. Programmer, architecture, compilation and system points of view lead to a special implementation of the virtualization mixing physical and virtual parallel objects. The implementation of the virtualization is adapted for the development of communication libraries and also adapted to enlarge the asynchronous sections of code for SPMD architecture. The portability of the POMPC language is validated by several implementations for mono/multi-process simulation on UNIX machines, for the Connection Machine CM-2, for the MasPar MP-1 and a compiler is in preparation for the iPSC-860.