openmp is a widely used parallelprogrammingmodel on traditional multi-core processors. Generally, openmp is used to develop fine-grained parallelism through a multithread model. streamprogrammingmodel is a new kin...
详细信息
openmp is a widely used parallelprogrammingmodel on traditional multi-core processors. Generally, openmp is used to develop fine-grained parallelism through a multithread model. streamprogrammingmodel is a new kind of parallelprogrammingmodel for stream architectures. openmp bears a resemblance to the streamprogrammingmodel at some level. The transformation between the two models has attracted much attention from the research community, since it is the foundation of porting programs between the two architectures. Most related researches focus on the efficiency of porting existing parallel programs to the new architectures such as GPUs. Very few of these studies, however, focus on the portative problem systematically, namely, what kind of parallel programs can be or should be transplanted into stream programs and mapped to run on the stream processors. In this paper, we study the mapping relationship of parallelmechanism in openmp to the streamprogrammingmodel, and point out those parallelmechanisms in openmp that are infeasible or undesirable for stream programs. By analyzing two typical benchmarks, we draw the conclusion that a majority of scientific applications are suitable to be mapped to the streamprogrammingmodel. Our conclusion effectively validates the idea of accelerating scientific applications with the stream processors.
暂无评论