DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
Hetero Streams Library supports a task-based parallelism programming model in which tasks are submitted for asynchronous execution in streams.
Directory | Description |
---|---|
./include | External API declarations for the library (header files). |
./ref_code | Root of tree of reference code samples. |
./src | Root of source code directory of hStreams |
./doc | Documentation collateral |
Intel(R) Manycore Platform Software Stack recommended version is 3.8 for KNC card or 4.3.2 for x200 card. If using Intel(R) MPSS in version prior to 3.8 see Using Hetero Streams Library with Intel(R) Manycore Platform Software Stack prior to version 3.7 section.
Name of Tool | Supported version |
---|---|
Intel(R) Manycore Platform Software Stack | 3.4, 3.8, 4.3.2 |
Intel(R) C++ Compiler | 15.0, 16.0 |
Intel(R) Math Kernel Library | 11.2, 11.3 |
Doxygen | 1.6.3 |
Artistic Style | 2.05 |
pdflatex | texlive-latex-bin-bin-svn14050.0-32.20130427_r30134.el7.noarch |
Name of Tool | Supported version |
---|---|
Intel(R) Manycore Platform Software Stack | 3.4, 3.8 |
Intel(R) C++ Compiler | 15.0, 16.0 |
Intel(R) Math Kernel Library | 11.2, 11.3 |
Doxygen (Optional1) | 1.6.3 |
MiKTeX (Optional1) | 2.9 |
Wix (Optional2) | 3.10 |
Visual Studio | 11.0 (2012) |
Set up the Intel (R) C++ Composer XE environment using commands like this:
$ source /path/to/your/composer/directories/bin/compilervars.sh intel64
Build Hetero Streams Library using the command in root directory of repository:
$ make artifacts
The make should generate RPMs in the rpmbuild/ directory:
$ tree rpmbuild/*RPMS/
rpmbuild/RPMS/
└── x86_64
├── hstreams-1.2.0.DEVBOX-1.x86_64.rpm
├── hstreams-debuginfo-1.2.0.DEVBOX-1.x86_64.rpm
├── hstreams-devel-1.2.0.DEVBOX-1.x86_64.rpm
└── hstreams-doc-1.2.0.DEVBOX-1.x86_64.rpm
rpmbuild/SRPMS/
└── hstreams-1.2.0.DEVBOX-1.src.rpm
These RPMs can be installed using your favourite package manager, e.g. rpm:
$ sudo rpm -ihv rpmbuild/RPMS/x86_64/hstreams-*
Preparing... ################################# [100%]
Updating / installing...
1:hstreams-1.2.0.DEVBOX-1 ################################# [ 25%]
2:hstreams-devel-1.2.0.DEVBOX-1 ################################# [ 50%]
3:hstreams-doc-1.2.0.DEVBOX-1 ################################# [ 75%]
4:hstreams-debuginfo-1.2.0.DEVBOX-1################################# [100%]
- Open hstreams_source.sln placed in root of project.
- Add MiKTeX (make sure that is pointing to bin directory in MiKTeX installation folder) and Doxygen to PATH.
- Run build solution in visual studio. Make sure selected configuration is Release/x64.
- Run HeteroStreamsLibrary-1.2.0.msi and follow the instructions in the installer.
- Open hstreams_source.sln placed in root of project.
- Unload hstreams_documentation and hstreams_installer project in hstreams_source solution.
- Run build solution in visual studio. Make sure selected configuration is Release/x64.
- Include library to your project using headers from include directory and binaries from bin directory.
Before starting this procedure, first make sure that you have followed the above procedure: Building and installing the Hetero Streams Library
Next, there is a collection of reference code sample applications in this source code distribution. To build and run each, there are separate README files that provide instructions on building them and running them:
$ cd ref_code
$ find . -name README.txt
./basic_perf/README.txt
./cholesky/README.txt
./io_perf/README.txt
./lu/README.txt
./matMult_host_multicard/README.txt
./matMult/README.txt
./windows/basic_perf/README.txt
./windows/cholesky/README.txt
./windows/io_perf/README.txt
./windows/lu/README.txt
./windows/matMult/README.txt
Follow the instructions in those files.
Hetero Streams Library code was included in Intel(R) Manycore Platform Software Stack releases 3.4 through 3.6. Some files from those versions may interfere with newest version and must be removed or renamed manually.
####Clean previous version artifacts on Linux*
Previous host-side Hetero Streams Library packages will be removed automatically on newest version installation. However, the mpss-sdk-k1om package contains headers which might be picked up by the compiler when generating k1om binaries.
Run the command below to prevent headers conflict, replacing 3.6.1 with the appropriate Intel(R) MPSS version:
# rename ".h" ".h.bak" /opt/mpss/3.6.1/sysroots/k1om-mpss-linux/usr/include/hStreams_*.h
In case you should need these headers back for any reason, the following command will restore them:
# rename ".h.bak" ".h" /opt/mpss/3.6.1/sysroots/k1om-mpss-linux/usr/include/hStreams_*.h.bak
####Clean previous version artifacts on Windows*
In order to rename the headers, please run the following command:
# pushd "C:\Program Files\Intel\MPSS\k1om-mpss-linux\usr\include\"
# rename hStreams_*.h hStreams_*.h.bak
Windows* DLL search order depends on system configuration; to make sure that the old version of the Hetero Streams Library will not be used, these files should be renamed or removed:
C:\Windows\System32\hstreams_source.dll
%INTEL_MPSS_HOME%\sdk\lib\hstreams_source.lib
%INTEL_MPSS_HOME%
is by default: C:\Program Files\Intel\MPSS\
Please keep in mind that a repair of the Intel(R) MPSS installation will restore these files.
*Some names and brands may be claimed as the property of others