Streams: emerging from a shared memory model

  • Authors:
  • Benedict R. Gaster

  • Affiliations:
  • ClearSpeed Technology Plc, S/W Architecture Group

  • Venue:
  • IWOMP'08 Proceedings of the 4th international conference on OpenMP in a new era of parallelism
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

To date OpenMP has been considered the work horse fordata parallelism and more recently task level parallelism. The model hasbeen one of shared memory working in parallel on arrays of a uniformnature, but many applications do not meet these often restrictive accesspatterns. With the development of accelerators on the one handand moving beyond the node to the cluster on the other, OpenMP'sshared memory approach does not easily capture the complex memoryhierarchies found in these heterogeneous systems. Streams provide a natural approach to coupling data with its correspondingaccess patterns. Data within a stream can be easily and efficientlydistributed across complex memory hierarchies, while retaining ashared memory point of view for the application programmer. In this paper we present a modest extension to OpenMP to supportdata partitioning and streaming. Rather than add numerous new directivesour approach is to utilize exiting streaming technology and extendOpenMP simply to control streams in the context of threading. The integrationof streams allows the programmer to easily connect distinctcompute components together in an efficient manner, supporting both,the conventional shared memory model of OpenMP and also the transparentintegration of local non-shared memory.