Skip to content

Commit

Permalink
Committing Parallel STL 20171127 open source release
Browse files Browse the repository at this point in the history
  • Loading branch information
tbbdev committed Nov 29, 2017
1 parent 353aa9c commit 7547d7d
Show file tree
Hide file tree
Showing 23 changed files with 1,609 additions and 1,534 deletions.
38 changes: 38 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
------------------------------------------------------------------------
The list of most significant changes made over time in Parallel STL.

Parallel STL 20171127 release
PSTL_VERSION == 102

Features / APIs:

- Added Parallel STL version macros:
PSTL_VERSION, PSTL_VERSION_MAJOR, PSTL_VERSION_MINOR.
- More algorithms support parallel and vector execution policies:
move, partition_copy, mismatch.
- More algorithms support parallel execution policies:
min_element, max_element, minmax_element.

------------------------------------------------------------------------
Parallel STL release within Intel(R) Parallel Studio XE 2018 Update 1

Features / APIs:

- More algorithms support parallel and vector execution policies:
destroy, destroy_n, uninitialized_copy, uninitialized_copy_n,
uninitialized_default_construct, uninitialized_default_construct_n,
uninitialized_fill, uninitialized_fill_n, uninitialized_move,
uninitialized_move_n, uninitialized_value_construct,
uninitialized_value_construct_n.
- Improved performance in find_end and search algorithms.
- Added macro PSTL_USE_NONTEMPORAL_STORES that can improve performance
of copy, copy_n, fill, fill_n, generate, generate_n algorithms with
unseq and par_unseq policies; by default the macro is not defined.

Bugs fixed:

- Fixed transform_inclusive_scan to correctly process the first element.
- Fixed compile time error in sort algorithm when used with zip_iterator
and some other custom iterator types.
- Fixed several algorithms to allow use of non-const functors.

------------------------------------------------------------------------
Parallel STL release within Intel(R) Parallel Studio XE 2018

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Parallel STL
[![Stable release](https://img.shields.io/badge/version-20170726-green.svg)](https://github.com/intel/parallelstl/releases/tag/20170726)
[![Stable release](https://img.shields.io/badge/version-20171127-green.svg)](https://github.com/intel/parallelstl/releases/tag/20171127)
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)

Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies,
Expand Down
13 changes: 8 additions & 5 deletions doc/Release_Notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ System Requirements
Parallel STL is available as a part of Intel(R) Parallel Studio XE 2018
and Intel(R) System Studio 2018.

Parallel STL distributions are validated and officially supported for
the hardware, software, operating systems and compilers listed here.
Parallel STL distributions are validated and officially supported
for the hardware, software, operating systems and compilers listed here.

Hardware - Recommended

Expand Down Expand Up @@ -71,6 +71,9 @@ Software - Supported Operating Systems
Software - Supported Compilers

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

------------------------------------------------------------------------

Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi, and
Pentium are trademarks of Intel Corporation in the U.S. and/or other
countries.
Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi,
and Pentium are trademarks of Intel Corporation in the U.S. and/or
other countries.

* Other names and brands may be claimed as the property of others.
15 changes: 9 additions & 6 deletions examples/convex_hull/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,20 @@ PROG=convex_hull.exe
ARGS=

CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
# The C++ compiler

# Set by default icc as C++ compiler if it's present
ifneq (,$(shell which icc 2>/dev/null))
CXX=icc
CXX = icc
endif # which icc

ifeq ($(CXX),icc)
CXXFLAGS += -qopenmp-simd
ifneq (, $(filter $(target), mic))
CXXFLAGS += -mmic
else
else
CXXFLAGS += -xHOST
endif
CXXFLAGS += -qopenmp-simd
endif # which icc
endif # target is mic or host?
endif # icc?

ifeq ($(shell uname), Linux)
LIBS+= -lrt
Expand Down
8 changes: 4 additions & 4 deletions examples/convex_hull/msvs/convex_hull.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,29 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
Expand Down
15 changes: 9 additions & 6 deletions examples/dot_product/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,20 @@ PROG=dot_product.exe
ARGS=

CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
# The C++ compiler

# Set by default icc as C++ compiler if it's present
ifneq (,$(shell which icc 2>/dev/null))
CXX=icc
CXX = icc
endif # which icc

ifeq ($(CXX),icc)
CXXFLAGS += -qopenmp-simd
ifneq (, $(filter $(target), mic))
CXXFLAGS += -mmic
else
else
CXXFLAGS += -xHOST
endif
CXXFLAGS += -qopenmp-simd
endif # which icc
endif # target is mic or host?
endif # icc?

ifeq ($(shell uname), Linux)
LIBS+= -lrt
Expand Down
8 changes: 4 additions & 4 deletions examples/dot_product/msvs/dot_product.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,29 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
Expand Down
15 changes: 9 additions & 6 deletions examples/gamma_correction/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,20 @@ PROG=gamma_correction.exe
ARGS=

CXXFLAGS += -D__PSTL_USE_TBB -std=c++11
# The C++ compiler

# Set by default icc as C++ compiler if it's present
ifneq (,$(shell which icc 2>/dev/null))
CXX=icc
CXX = icc
endif # which icc

ifeq ($(CXX),icc)
CXXFLAGS += -qopenmp-simd
ifneq (, $(filter $(target), mic))
CXXFLAGS += -mmic
else
else
CXXFLAGS += -xHOST
endif
CXXFLAGS += -qopenmp-simd
endif # which icc
endif # target is mic or host?
endif # icc?

ifeq ($(shell uname), Linux)
LIBS+= -lrt
Expand Down
12 changes: 6 additions & 6 deletions examples/gamma_correction/msvs/gamma_correction.sln
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Debug|Win32 = Debug|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x64.ActiveCfg = Debug|x64
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x64.Build.0 = Debug|x64
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x86.ActiveCfg = Debug|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|x86.Build.0 = Debug|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|Win32.ActiveCfg = Debug|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Debug|Win32.Build.0 = Debug|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x64.ActiveCfg = Release|x64
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x64.Build.0 = Release|x64
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x86.ActiveCfg = Release|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|x86.Build.0 = Release|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|Win32.ActiveCfg = Release|Win32
{33020498-816E-4A1D-A073-B0E4834AC979}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
8 changes: 4 additions & 4 deletions examples/gamma_correction/msvs/gamma_correction.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,29 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>Intel C++ Compiler 17.0</PlatformToolset>
<PlatformToolset>Intel C++ Compiler 18.0</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseIntelTBB>true</UseIntelTBB>
Expand Down
Loading

0 comments on commit 7547d7d

Please sign in to comment.