Skip to content

Commit 38aa8ab

Browse files
committed
Committing Parallel STL 20180912 open source release
1 parent c4231b8 commit 38aa8ab

File tree

80 files changed

+4776
-3808
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+4776
-3808
lines changed

CHANGES

+17
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
------------------------------------------------------------------------
22
The list of most significant changes made over time in Parallel STL.
33

4+
Parallel STL release within Intel(R) Parallel Studio XE 2019
5+
PSTL_VERSION == 200
6+
7+
Features / APIs:
8+
9+
- More algorithms support parallel and vector execution policies:
10+
rotate.
11+
- More algorithms support parallel execution policies:
12+
includes, nth_element, remove, remove_if, unique.
13+
- More algorithms support vector execution policies:
14+
exclusive_scan, inclusive_scan, max_element, minmax_element,
15+
min_element, reduce, transform_exclusive_scan, transform_inclusive_scan,
16+
transform_reduce.
17+
- Arranged types and variables naming: single- and double-underscore.
18+
(by Thomas Rodgers).
19+
20+
------------------------------------------------------------------------
421
Parallel STL 20180619 release
522
PSTL_VERSION == 106
623

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Parallel STL
2-
[![Stable release](https://img.shields.io/badge/version-20180619-green.svg)](https://github.com/intel/parallelstl/releases/tag/20180619)
2+
[![Stable release](https://img.shields.io/badge/version-20180912-green.svg)](https://github.com/intel/parallelstl/releases/tag/20180912)
33
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
44

55
Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies,
@@ -14,7 +14,7 @@ To use Parallel STL, you must have the following software installed:
1414
* C++ compiler with:
1515
* Support for C++11
1616
* Support for OpenMP* 4.0 SIMD constructs
17-
* Intel(R) Threading Building Blocks (Intel(R) TBB) which is available to download in the GitHub [repository](https://github.com/01org/tbb/)
17+
* Threading Building Blocks (TBB) which is available to download in the GitHub [repository](https://github.com/01org/tbb/)
1818

1919
## Release Information
2020
Here are the latest [Changes](CHANGES) and [Release Notes](doc/Release_Notes.txt) (contains system requirements and known issues).
@@ -28,10 +28,10 @@ Parallel STL is licensed under [Apache License Version 2.0](LICENSE).
2828
## Support
2929
Please report issues and suggestions via
3030
[GitHub issues](https://github.com/intel/parallelstl/issues) or start a topic on the
31-
[Intel(R) TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
31+
[TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
3232

3333
## How to Contribute
34-
Please, read the instructions on the official [Intel(R) TBB open source site](https://www.threadingbuildingblocks.org/submit-contribution).
34+
Please, read the instructions on the official [TBB open source site](https://www.threadingbuildingblocks.org/submit-contribution).
3535

3636
## Engineering team contacts
3737
* [E-mail us.](mailto:[email protected])

doc/Release_Notes.txt

+32-22
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
------------------------------------------------------------------------
2-
Parallel STL
2+
Parallel STL
33
------------------------------------------------------------------------
44

55
System Requirements
66
-------------------
77

8-
Parallel STL is available as a part of Intel(R) Parallel Studio XE 2018
9-
and Intel(R) System Studio 2018.
8+
Parallel STL is available as a part of Intel(R) Parallel Studio XE 2019
9+
and Intel(R) System Studio 2019.
1010

1111
Parallel STL distributions are validated and officially supported
1212
for the hardware, software, operating systems and compilers listed here.
@@ -40,8 +40,8 @@ Software - Minimum Requirements
4040

4141
Software - Recommended
4242

43-
Intel(R) Parallel Studio XE 2017, 2018
44-
Intel(R) System Studio 2017, 2018
43+
Intel(R) Parallel Studio XE 2018, 2019
44+
Intel(R) System Studio 2018, 2019
4545

4646
Software - Supported Operating Systems
4747

@@ -51,27 +51,24 @@ Software - Supported Operating Systems
5151
Microsoft* Windows* 7 SP1
5252
Microsoft* Windows* Server 2016
5353
Microsoft* Windows* Server 2012 R2
54-
Microsoft* Windows* Server 2008 R2 SP1
55-
Windows* Embedded 10
56-
Windows* Embedded 8.1
5754
Systems with Linux* operating systems
5855
CentOS 7.1
5956
Debian* 8, 9
60-
Fedora* 24, 25, 26
57+
Fedora* 27
6158
Red Hat* Enterprise Linux* 7
6259
SuSE* Linux* Enterprise Server 12
63-
Ubuntu* 14.04 LTS, 16.04 LTS, 17.04
64-
Yocto 2.2, 2.3
60+
Ubuntu* 14.04 LTS, 16.04 LTS, 18.04 LTS
61+
Yocto 2.3
6562
Systems with OS X* and macOS* operating systems
66-
OS X* 10.10, 10.11
63+
OS X* 10.11
6764
macOS* 10.12, 10.13
6865
Systems with Android* operating systems
6966
Android* 5.x, 6.x, 7.x, 8.x
7067

7168
Software - Supported Compilers
7269

73-
Intel(R) C++ Compiler 16, 17 and 18 version
74-
Note: Using Intel C++ Compiler 18.0 might result
70+
Intel(R) C++ Compiler 17, 18 and 19 version
71+
Note: Using Intel C++ Compiler 19.0 might result
7572
in better performance for many of Parallel STL algorithms,
7673
comparing to previous compiler versions.
7774
Microsoft* Visual C++ 14.0 (Microsoft* Visual Studio* 2015,
@@ -83,19 +80,32 @@ Software - Supported Compilers
8380
version provided with that operating system is supported
8481
GNU Compilers (gcc) 4.8 - 7.1
8582
Clang* 3.3 - 3.8
86-
Xcode* 6.3 - 9.1
83+
Xcode* 7.0 - 9.1
8784
Android* NDK r13 - r16
8885

8986
Known Issues or limitations
9087

9188
unseq and par_unseq policies only have effect with compilers that
92-
support '#pragma omp simd' or '#pragma simd'
93-
Parallel and vector execution is only supported for a subset of
94-
algorithms if random access iterators are provided, while for
95-
the rest execution will remain serial.
96-
Depending on a compiler, zip_iterator may not work with
97-
unseq and par_unseq policies.
98-
89+
support '#pragma omp simd' or '#pragma simd'.
90+
Parallel and vector execution is only supported for the algorithms
91+
if random access iterators are provided, while for other iterator
92+
types the execution will remain serial.
93+
Semantics of the following algorithms does not allow unsequenced execution:
94+
includes, inplace_merge, merge, set_difference, set_intersection,
95+
set_symmetric_difference, set_union, stable_partition, unique.
96+
The initial value type for exclusive_scan, inclusive_scan,
97+
transform_exclusive_scan, transform_inclusive_scan shall satisfy
98+
the DefaultConstructible requirements. A default constructed-instance
99+
of the initial value type shall be the identity element for binary_op.
100+
For max_element, min_element, minmax_element, partial_sort,
101+
partial_sort_copy, sort, stable_sort the dereferenced value type of
102+
the provided iterators shall be DefaultConstructible.
103+
For remove, remove_if, unique the dereferenced value type of the provided
104+
iterators shall be MoveConstructible.
105+
The following algorithms require additional O(n) memory space for parallel
106+
execution: copy_if, inplace_merge, partial_sort, partial_sort_copy,
107+
partition_copy, remove, remove_if, rotate, sort, stable_sort, unique,
108+
unique_copy.
99109
------------------------------------------------------------------------
100110

101111
Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi,

examples/convex_hull/readme.html

+2-5
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ <h1 class="title">Parallel STL.<br>convex_hull sample</h1>
318318
The example generates a set of random 2D points by <code>std::generate</code>. Then performs the quickhull algorithm on it.
319319
Left and right most points are found by <code>std::minmax_element</code>.
320320
On each step points on the right side of oriented line are copied by <code>std::copy_if</code> and the farthest point is found by <code>std::max_element</code>.
321-
Correctness of the convex hull is checked by <code>std::any_of</code> algorithm with counting iterators.
321+
Correctness of the convex hull is checked by <code>std::any_of</code> algorithm with counting iterator (Threading Building Blocks (TBB) 2019 is required).
322322
The output of the example application is a CSV file with points of the convex hull.
323323
</p>
324324

@@ -362,10 +362,7 @@ <h1 class="title">Parallel STL.<br>convex_hull sample</h1>
362362
<div class="h3-alike">Build instructions</div>
363363
<input type="checkbox" checked="checked">
364364
<div class="show-hide">
365-
<p>To use Parallel STL, set up the environment by calling the <i><code>pstlvars</code></i> script (if you use a command line) or set the <code>%PSTLROOT%</code>
366-
environment variable pointing to the <code>&lt;pstl_installdir&gt;</code> folder (in Microsoft* Visual Studio* IDE on Windows* OS)
367-
and add the <code>&lt;pstl_installdir&gt;/pstl/include</code> folder to the compiler include paths.
368-
</p>
365+
<p>Read <a href="https://software.intel.com/en-us/get-started-with-pstl">Getting Started with Parallel STL</a> for general instructions on setting up and using Parallel STL.</p>
369366
<p>Use the <a href="Makefile">Makefile</a> to build the example on the command line.</p>
370367
<p>Use the <a href="msvs/convex_hull.sln">msvs/convex_hull.sln</a> project file to build the example in the Microsoft* Visual Studio* IDE (Windows* systems only).</p>
371368
</div>

examples/dot_product/readme.html

+1-4
Original file line numberDiff line numberDiff line change
@@ -357,10 +357,7 @@ <h1 class="title">Parallel STL.<br>Dot_product sample</h1>
357357
<div class="h3-alike">Build instructions</div>
358358
<input type="checkbox" checked="checked">
359359
<div class="show-hide">
360-
<p>To use Parallel STL, set up the environment by calling the <i><code>pstlvars</code></i> script (if you use a command line) or set the <code>%PSTLROOT%</code>
361-
environment variable pointing to the <code>&lt;pstl_installdir&gt;</code> folder (in Microsoft* Visual Studio* IDE on Windows* OS)
362-
and add the <code>&lt;pstl_installdir&gt;/pstl/include</code> folder to the compiler include paths.
363-
</p>
360+
<p>Read <a href="https://software.intel.com/en-us/get-started-with-pstl">Getting Started with Parallel STL</a> for general instructions on setting up and using Parallel STL.</p>
364361
<p>Use the <a href="Makefile">Makefile</a> to build the example on the command line.</p>
365362
<p>Use the <a href="msvs/dot_product.sln">msvs/dot_product.sln</a> project file to build the example in the Microsoft* Visual Studio* IDE (Windows* systems only).</p>
366363
</div>

examples/gamma_correction/readme.html

+2-5
Original file line numberDiff line numberDiff line change
@@ -366,14 +366,11 @@ <h1 class="title">Parallel STL.<br>Gamma_correction sample</h1>
366366
<div class="h3-alike">Build instructions</div>
367367
<input type="checkbox" checked="checked">
368368
<div class="show-hide">
369-
<p>To use Parallel STL, set up the environment by calling the <i><code>pstlvars</code></i> script (if you use a command line) or set the <code>%PSTLROOT%</code>
370-
environment variable pointing to the <code>&lt;pstl_installdir&gt;</code> folder (in Microsoft* Visual Studio* IDE on Windows* OS)
371-
and add the <code>&lt;pstl_installdir&gt;/pstl/include</code> folder to the compiler include paths.
372-
</p>
369+
<p>Read <a href="https://software.intel.com/en-us/get-started-with-pstl">Getting Started with Parallel STL</a> for general instructions on setting up and using Parallel STL.</p>
373370
<p>Use the <a href="Makefile">Makefile</a> to build the example on the command line.</p>
374371
<p>Use the <a href="msvs/gamma_correction.sln">msvs/gamma_correction.sln</a> project file to build the example in the Microsoft* Visual Studio* IDE (Windows* systems only).</p>
375372
</div>
376-
</div>
373+
</div>
377374

378375

379376
<div class="changes">

0 commit comments

Comments
 (0)