Please see the licenses included in the distribution as well as the Disclaimer and Legal Information section of these release notes for details. Please see the following links for information on this release of the Intel® C++ Compiler 19.0 .
This is release for Intel® Compilers 2019 Update 8, compilers version 19.0.8. Highlights for this release:
This is the final release of 2019 Update 4.
This is the initial release of 2019 Update 4. This was released in Linux* and Windows* packages only (no macOS* release).
This compiler is only available in the Intel® Registration Center in packages for:
This version provides initial support for VS2019 Integrations and includes certain functional and security updates. We recommend updating for these functional and security updates. The default version "Update 4 Eng/Jpn" build should be used as it is the latest Update 4 compiler (see above). If you are macOS* user there was no "Update 4 initial" compiler release (see Update 4 Eng/Jpn above).
These packages contain both the Intel® C++ Compiler and the Intel® Fortran Compiler. During installation you can select one or both compilers using the CUSTOM installation options.
For your next steps, use this table and the notes that follow the table:
Changes in this version:
Parallel Studio XE 2019: Getting Started with the Intel® C++ Compiler 19.0 for Linux* at <install-dir>/documentation_2019/en/compiler_c/ps2019/get_started_lc.htm. contains information on how to use the Intel® C++ Compiler from the command line and from Linux*.
The Intel® C++ Compiler for Linux* does not provide "modulefiles" for usage with the Environmental Modules software utility, but is well suited for such usage. See Using Environment Modules with Intel Development Tools for further information.
Product documentation is linked from <install-dir>/documentation_2019/en/compiler_c/ps2019/get_started_lc.htm. Full documentation for all tool components is available at the Intel® Parallel Studio XE Support page.
Offline core documentation is removed from the Intel® Parallel Studio XE installed image. The core documentation for the components of Intel® Parallel Studio XE are available at the Intel® Software Documentation Library for viewing online. You can also download an offline version of the documentation from the Intel® Software Development Products Registration Center: Product List > Intel® Parallel Studio XE Documentation.
Intel® compilers optionally provide support for Japanese language users when the combined English-Japanese product is installed. Error messages, visual development environment dialogs and some documentation are provided in Japanese in addition to English. By default, the language of error messages and dialogs matches that of your operating system language selection.
Japanese language support is provided with update 1 of the product.
Product samples are now available online at Intel® Software Product Samples and Tutorials
If you did not register your compiler during installation, please do so at the Intel® Software Development Products Registration Center at http://registrationcenter.intel.com. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For information about how to find Technical Support, Product Updates, User Forums, FAQs, tips and tricks, and other support information, please visit: http://www.intel.com/software/products/support/
Note: If your distributor provides technical support for this product, please contact them for support rather than Intel.
The Intel® Software License Manager has been updated to version 2.9 for this release. You must upgrade to this version before installing Intel Parallel Studio XE 2019 Update 4 with a floating license. Please refer for more details:
The following features are new or significantly enhanced in this version. For more information on these features, please refer to the documentation.
This option is supported in versions 19.0 update 8 of the compiler and above. The details about this option can be found in the Intel® C++ Compiler 19.1 Developer Guide and Reference here.
To find more information, see https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf
Currently "#pragma omp simd" overrides FP value and exception safe settings. The following options change that legacy behaviour and produce value and exception safe code even for SIMD loops.
OpenMP SIMD specification and FP model flag can contradict in the requirement. Compiler’s default is to follow OpenMP specification and vectorize the loop. With this new flag, programmer can override so that the compiler follows the FP model flag instead and serialize the loop
Note1: When –qsimd-honor-fp-model is used and OpenMP SIMD reduction specification is the only thing causing serialization of entire loop addition of qsimd-serialize-fp-reduction will result in vectorization of the entire loop except reduction calculation which will be serialized.
Note2: This option does not affect auto-vectorization of loops.
code names supported :cascadelake, kabylake, coffeelake, amberlake, whiskeylake.
A new library "libqkmalloc" library is provided in the Intel C++ compiler 19.0 update 1. It provides a C level interface "qkmalloc()" for memory allocation. This allocation would replace standard routines.
It also provides non C99 standard compliant memory allocation routine, which uses "weak" alignment void* _wmalloc(size_t size)
To use the library -
Note:Non-Intel microprocessors runs the standard system malloc.
#pragma vector dynamic_align[(pointer)] #pragma vector nodynamic_align
With no pointer specified, compiler behaves normally (automatically decides which pointer has to be aligned or doesn’t generate peel loop at all). With pointer specified, compiler generates peel loop for that pointer. With nodynamic_align clause, the compiler will not generate a peel loop.
#pragma vector vectorlength(vl1,vl2, .. , vln)
Vectorizer chooses best vector length from the list according to cost model. If all vector length from the list are not profitable, the loop remains scalar. This pragma doesn’t force vectorization, thus it can be safely used for all loops.
Language features from the OpenMP* Technical Report 6 : Version 5.0 Preview 2 specifications are now supported.
#pragma omp simd reduction[parallel](inscan, operator:list)
#pragma omp scan inclusive(item-list)
#pragma omp simd reduction[parallel](inscan, operator:list)
#pragma omp scan exclusive(item-list)
#pragma omp declare induction ( induction-id : induction-type :step-type : inductor ) [collector( collector )]
For more information, see the compiler documentation or the link to the OpenMP* Specification above.
The Intel® C++ Compiler 19.0 supports the following features under the /Qstd=c++17 (Windows*) or -std=c++17 (Linux*/OS X*) options:
The Intel® C++ Compiler 19.0 supports the following features under the /Qstd=c++14 (Windows*) or -std=c++14 (Linux*/OS X*) options:
The Intel® C++ Compiler 19.0 supports the following features under the /Qstd=c++11 (Windows*) or -std=c++11 (Linux*/OS X*) options:
The Intel® C++ Compiler supports the C11 features under the /Qstd=c11 (Windows*) or -std=c11 (Linux*/OS X*) options:
For details on these and all compiler options, see the Compiler Options section of the Intel® C++ Compiler 19.0 User's Guide.
For a list of deprecated compiler options, see the Compiler Options section of the Intel® C++ Compiler 19.0 User's Guide.
Intel(R) C++ Compiler is installed with Parallel STL, an implementation of the C++ standard library algorithms with support for execution policies.
To learn more, please refer to article https://software.intel.com/en-us/get-started-with-pstl
Intel® Cilk™ Plus is a deprecated feature since Intel® C++ Compiler 18.0. For more information see Migrate Your Application to use OpenMP* or Intel® Threading Building Blocks (Intel® TBB) Instead of Intel® Cilk™ Plus
Offload support for Intel® Graphics Technology has been removed
unseq and par_unseq policies only have effect with compilers that support '#pragma omp simd' or '#pragma simd. Parallel and vector execution is only supported for a subset of algorithms if random access iterators are provided, while for the rest execution will remain serial. Depending on a compiler, zip_iterator may not work with unseq and par_unseq policies.
When using the -check-pointers option, the runtime library
libchkp.so must be linked in. When using options like -static or -static-intel with -check-pointers, be aware that this dynamic library will be linked in regardless of your settings. See the article at Pointer Checker in ICC for more information.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. Go to:
The Intel® C++ Compiler is provided under Intel’s End User License Agreement (EULA).
Please consult the licenses included in the distribution for details.
Intel, Intel logo, Pentium, Core, Atom, Iris, Intel® Xeon®, Intel® Xeon Phi are trademarks of Intel Corporation in the U.S. and other countries.
* Other names and brands may be claimed as the property of others.
Copyright © 2018 Intel Corporation. All Rights Reserved.
Los compiladores Intel pueden o no optimizar al mismo nivel para los microprocesadores que no son Intel en optimizaciones que no son exclusivas de los microprocesadores Intel. Estas optimizaciones incluyen los conjuntos de instrucciones SSE2, SSE3 y SSSE3, y otras optimizaciones. Intel no garantiza la disponibilidad, funcionalidad o eficacia de ninguna optimización en microprocesadores que no sean fabricados por Intel. Las optimizaciones dependientes del microprocesador en este producto fueron diseñadas para usarse con microprocesadores Intel. Ciertas optimizaciones no específicas de la microarquitectura Intel se reservan para los microprocesadores Intel. Consulte las guías de referencia y para el usuario para obtener más información acerca de los conjuntos de instrucciones específicos cubiertos por este aviso.
Revisión del aviso n.° 20110804