hStreams: Heterogeneous Streams


hStreams is an open-source library that supports task concurrency on heterogeneous platforms. The concurrency may be across nodes (Xeon, KNC, KNL-SB, KNL-LB); within a node for small matrix operations; and in the overlapping of computation and communication, particularly for tiled solutions. It relieves the user of complexity in dealing with thread affinitization, offloading, memory types, and memory affinitization.

Please have a look at the API Reference, Overview and Tutorial documents that are part of the MPSS 3.6 release. MPSS releases can be downloaded from https://software.intel.com/en-us/articles/intel-manycore-platform-softwa.... MPSS releases 3.4, 3.5 and 3.6 include hStreams and its sample reference codes. Once installed, please use /usr/share/doc/hStreams on Linux or Intel\HeteroStreamsLibrary\docs on Windows. As of MPSS 3.7, hStreams is now split off into its own release, at https://01.org/hetero-streams-library.

For more on hStreams, please also see

  • Hetero Streams (hStreams) documentation
  • Barcelona Supercomputing Page that compares hStreams to CUDA Streams and OpenCL, in light of work done on OmpSs

This web page is mentioned in our book Intel Xeon Phi Processor High Performance Programming; Knights Landing Edition.
This web page is also mentioned in the "Pearls 2" book, as follows:

Chapter 15: Fast Matrix Computations on Heterogeneous Streams

This chapter examines the hStreams library which supports programming of a heterogeneous system by abstracting programming to be akin to feeding a system with streams of actions (computations, data transfers and synchronizations). Use of the library is illustrated with some problems from the field of linear algebra, endeavoring to show the speed and flexibility of hStreams on both processors and coprocessors. Performance results highlight four key benefits of using hStreams: 1) concurrency among data transfers and computes, 2) concurrency of computes, 3) pipelining within a stream, and 4) ease of use in exploring the optimization space.
Authors:

  • Gaurav Bansal; Intel Corporation, USA
  • Chris (CJ) Newburn; Intel Corporation, USA
  • Paul J. Besl; Intel Corporation, USA

hStreams is also covered in the KNL book from Reinders and Jeffers.