Skip to content

Commit 7547d7d

Browse files
committed
Committing Parallel STL 20171127 open source release
1 parent 353aa9c commit 7547d7d

23 files changed

+1609
-1534
lines changed

CHANGES

+38
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,41 @@
1+
------------------------------------------------------------------------
2+
The list of most significant changes made over time in Parallel STL.
3+
4+
Parallel STL 20171127 release
5+
PSTL_VERSION == 102
6+
7+
Features / APIs:
8+
9+
- Added Parallel STL version macros:
10+
PSTL_VERSION, PSTL_VERSION_MAJOR, PSTL_VERSION_MINOR.
11+
- More algorithms support parallel and vector execution policies:
12+
move, partition_copy, mismatch.
13+
- More algorithms support parallel execution policies:
14+
min_element, max_element, minmax_element.
15+
16+
------------------------------------------------------------------------
17+
Parallel STL release within Intel(R) Parallel Studio XE 2018 Update 1
18+
19+
Features / APIs:
20+
21+
- More algorithms support parallel and vector execution policies:
22+
destroy, destroy_n, uninitialized_copy, uninitialized_copy_n,
23+
uninitialized_default_construct, uninitialized_default_construct_n,
24+
uninitialized_fill, uninitialized_fill_n, uninitialized_move,
25+
uninitialized_move_n, uninitialized_value_construct,
26+
uninitialized_value_construct_n.
27+
- Improved performance in find_end and search algorithms.
28+
- Added macro PSTL_USE_NONTEMPORAL_STORES that can improve performance
29+
of copy, copy_n, fill, fill_n, generate, generate_n algorithms with
30+
unseq and par_unseq policies; by default the macro is not defined.
31+
32+
Bugs fixed:
33+
34+
- Fixed transform_inclusive_scan to correctly process the first element.
35+
- Fixed compile time error in sort algorithm when used with zip_iterator
36+
and some other custom iterator types.
37+
- Fixed several algorithms to allow use of non-const functors.
38+
139
------------------------------------------------------------------------
240
Parallel STL release within Intel(R) Parallel Studio XE 2018
341

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Parallel STL
2-
[![Stable release](https://img.shields.io/badge/version-20170726-green.svg)](https://github.com/intel/parallelstl/releases/tag/20170726)
2+
[![Stable release](https://img.shields.io/badge/version-20171127-green.svg)](https://github.com/intel/parallelstl/releases/tag/20171127)
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,

doc/Release_Notes.txt

+8-5
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ System Requirements
88
Parallel STL is available as a part of Intel(R) Parallel Studio XE 2018
99
and Intel(R) System Studio 2018.
1010

11-
Parallel STL distributions are validated and officially supported for
12-
the hardware, software, operating systems and compilers listed here.
11+
Parallel STL distributions are validated and officially supported
12+
for the hardware, software, operating systems and compilers listed here.
1313

1414
Hardware - Recommended
1515

@@ -71,6 +71,9 @@ Software - Supported Operating Systems
7171
Software - Supported Compilers
7272

7373
Intel(R) C++ Compiler 16, 17 and 18 version
74+
Note: Using Intel C++ Compiler 18.0 might result
75+
in better performance for many of Parallel STL algorithms,
76+
comparing to previous compiler versions.
7477
Microsoft* Visual C++ 14.0 (Microsoft* Visual Studio* 2015,
7578
Windows* OS only)
7679
Microsoft* Visual C++ 14.1 (Microsoft* Visual Studio* 2017,
@@ -95,8 +98,8 @@ Known Issues or limitations
9598

9699
------------------------------------------------------------------------
97100

98-
Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi, and
99-
Pentium are trademarks of Intel Corporation in the U.S. and/or other
100-
countries.
101+
Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi,
102+
and Pentium are trademarks of Intel Corporation in the U.S. and/or
103+
other countries.
101104

102105
* Other names and brands may be claimed as the property of others.

examples/convex_hull/Makefile

+9-6
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,20 @@ PROG=convex_hull.exe
2222
ARGS=
2323

2424
CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
25-
# The C++ compiler
25+
26+
# Set by default icc as C++ compiler if it's present
2627
ifneq (,$(shell which icc 2>/dev/null))
27-
CXX=icc
28+
CXX = icc
29+
endif # which icc
2830

31+
ifeq ($(CXX),icc)
32+
CXXFLAGS += -qopenmp-simd
2933
ifneq (, $(filter $(target), mic))
3034
CXXFLAGS += -mmic
31-
else
35+
else
3236
CXXFLAGS += -xHOST
33-
endif
34-
CXXFLAGS += -qopenmp-simd
35-
endif # which icc
37+
endif # target is mic or host?
38+
endif # icc?
3639

3740
ifeq ($(shell uname), Linux)
3841
LIBS+= -lrt

examples/convex_hull/msvs/convex_hull.vcxproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,29 @@
2828
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2929
<ConfigurationType>Application</ConfigurationType>
3030
<UseDebugLibraries>true</UseDebugLibraries>
31-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
31+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3232
<CharacterSet>Unicode</CharacterSet>
3333
<UseIntelTBB>true</UseIntelTBB>
3434
</PropertyGroup>
3535
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3636
<ConfigurationType>Application</ConfigurationType>
3737
<UseDebugLibraries>false</UseDebugLibraries>
38-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
38+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3939
<WholeProgramOptimization>true</WholeProgramOptimization>
4040
<CharacterSet>Unicode</CharacterSet>
4141
<UseIntelTBB>true</UseIntelTBB>
4242
</PropertyGroup>
4343
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4444
<ConfigurationType>Application</ConfigurationType>
4545
<UseDebugLibraries>true</UseDebugLibraries>
46-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
46+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
4747
<CharacterSet>Unicode</CharacterSet>
4848
<UseIntelTBB>true</UseIntelTBB>
4949
</PropertyGroup>
5050
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5151
<ConfigurationType>Application</ConfigurationType>
5252
<UseDebugLibraries>false</UseDebugLibraries>
53-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
53+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
5555
<CharacterSet>Unicode</CharacterSet>
5656
<UseIntelTBB>true</UseIntelTBB>

examples/dot_product/Makefile

+9-6
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,20 @@ PROG=dot_product.exe
2222
ARGS=
2323

2424
CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
25-
# The C++ compiler
25+
26+
# Set by default icc as C++ compiler if it's present
2627
ifneq (,$(shell which icc 2>/dev/null))
27-
CXX=icc
28+
CXX = icc
29+
endif # which icc
2830

31+
ifeq ($(CXX),icc)
32+
CXXFLAGS += -qopenmp-simd
2933
ifneq (, $(filter $(target), mic))
3034
CXXFLAGS += -mmic
31-
else
35+
else
3236
CXXFLAGS += -xHOST
33-
endif
34-
CXXFLAGS += -qopenmp-simd
35-
endif # which icc
37+
endif # target is mic or host?
38+
endif # icc?
3639

3740
ifeq ($(shell uname), Linux)
3841
LIBS+= -lrt

examples/dot_product/msvs/dot_product.vcxproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,29 @@
2828
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2929
<ConfigurationType>Application</ConfigurationType>
3030
<UseDebugLibraries>true</UseDebugLibraries>
31-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
31+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3232
<CharacterSet>Unicode</CharacterSet>
3333
<UseIntelTBB>true</UseIntelTBB>
3434
</PropertyGroup>
3535
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3636
<ConfigurationType>Application</ConfigurationType>
3737
<UseDebugLibraries>false</UseDebugLibraries>
38-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
38+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3939
<WholeProgramOptimization>true</WholeProgramOptimization>
4040
<CharacterSet>Unicode</CharacterSet>
4141
<UseIntelTBB>true</UseIntelTBB>
4242
</PropertyGroup>
4343
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4444
<ConfigurationType>Application</ConfigurationType>
4545
<UseDebugLibraries>true</UseDebugLibraries>
46-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
46+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
4747
<CharacterSet>Unicode</CharacterSet>
4848
<UseIntelTBB>true</UseIntelTBB>
4949
</PropertyGroup>
5050
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5151
<ConfigurationType>Application</ConfigurationType>
5252
<UseDebugLibraries>false</UseDebugLibraries>
53-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
53+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
5555
<CharacterSet>Unicode</CharacterSet>
5656
<UseIntelTBB>true</UseIntelTBB>

examples/gamma_correction/Makefile

+9-6
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,20 @@ PROG=gamma_correction.exe
2222
ARGS=
2323

2424
CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
25-
# The C++ compiler
25+
26+
# Set by default icc as C++ compiler if it's present
2627
ifneq (,$(shell which icc 2>/dev/null))
27-
CXX=icc
28+
CXX = icc
29+
endif # which icc
2830

31+
ifeq ($(CXX),icc)
32+
CXXFLAGS += -qopenmp-simd
2933
ifneq (, $(filter $(target), mic))
3034
CXXFLAGS += -mmic
31-
else
35+
else
3236
CXXFLAGS += -xHOST
33-
endif
34-
CXXFLAGS += -qopenmp-simd
35-
endif # which icc
37+
endif # target is mic or host?
38+
endif # icc?
3639

3740
ifeq ($(shell uname), Linux)
3841
LIBS+= -lrt

examples/gamma_correction/msvs/gamma_correction.sln

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1010
Debug|x64 = Debug|x64
11-
Debug|x86 = Debug|x86
11+
Debug|Win32 = Debug|Win32
1212
Release|x64 = Release|x64
13-
Release|x86 = Release|x86
13+
Release|Win32 = Release|Win32
1414
EndGlobalSection
1515
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1616
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x64.ActiveCfg = Debug|x64
1717
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x64.Build.0 = Debug|x64
18-
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x86.ActiveCfg = Debug|Win32
19-
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x86.Build.0 = Debug|Win32
18+
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|Win32.ActiveCfg = Debug|Win32
19+
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|Win32.Build.0 = Debug|Win32
2020
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x64.ActiveCfg = Release|x64
2121
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x64.Build.0 = Release|x64
22-
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x86.ActiveCfg = Release|Win32
23-
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x86.Build.0 = Release|Win32
22+
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|Win32.ActiveCfg = Release|Win32
23+
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|Win32.Build.0 = Release|Win32
2424
EndGlobalSection
2525
GlobalSection(SolutionProperties) = preSolution
2626
HideSolutionNode = FALSE

examples/gamma_correction/msvs/gamma_correction.vcxproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,29 @@
2828
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2929
<ConfigurationType>Application</ConfigurationType>
3030
<UseDebugLibraries>true</UseDebugLibraries>
31-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
31+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3232
<CharacterSet>Unicode</CharacterSet>
3333
<UseIntelTBB>true</UseIntelTBB>
3434
</PropertyGroup>
3535
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3636
<ConfigurationType>Application</ConfigurationType>
3737
<UseDebugLibraries>false</UseDebugLibraries>
38-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
38+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
3939
<WholeProgramOptimization>true</WholeProgramOptimization>
4040
<CharacterSet>Unicode</CharacterSet>
4141
<UseIntelTBB>true</UseIntelTBB>
4242
</PropertyGroup>
4343
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4444
<ConfigurationType>Application</ConfigurationType>
4545
<UseDebugLibraries>true</UseDebugLibraries>
46-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
46+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
4747
<CharacterSet>Unicode</CharacterSet>
4848
<UseIntelTBB>true</UseIntelTBB>
4949
</PropertyGroup>
5050
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5151
<ConfigurationType>Application</ConfigurationType>
5252
<UseDebugLibraries>false</UseDebugLibraries>
53-
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
53+
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
5555
<CharacterSet>Unicode</CharacterSet>
5656
<UseIntelTBB>true</UseIntelTBB>

0 commit comments

Comments
 (0)