Get Link
|
Sync TOC
|
<<
|
>>
Search Options:
Search Titles Only
Match All Words
Match Whole Words
Show Results in Tree
Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference
Introduction, Conventions, and Further Information
Feature Requirements
Getting Help and Support
Related Information
Notational Conventions
Compiler Setup
Using the Command Line
Specifying the Location of Compiler Components
Invoking the Compiler
Using the Command Line on Windows*
Understanding File Extensions
Using Makefiles to Compile Your Application
Using CMake with Data Parallel C++
Using Compiler Options
Specifying Include Files
Specifying Object Files
Specifying Assembly Files
Converting Projects to Use a Selected Compiler from the Command Line
Using Eclipse*
Adding the Compiler to Eclipse*
Multi-Version Compiler Support
Using Cheat Sheets
Creating a Simple Project
Creating a New Project
Adding a C Source File
Setting Options for a Project or File
Excluding Source Files from a Build
Building a Project
Running a Project
Error Parser
Make Files
Project Types and Makefiles
Exporting Makefiles
Using Intel Libraries for oneAPI with Eclipse*
Using Microsoft Visual Studio*
Creating a New Project
Using the Intel® oneAPI DPC++/C++ Compiler
Build a Project
Changing the Selected Compiler
Switching Back to the Visual C++* Compiler
Selecting a Configuration
Specifying a Target Platform
Specifying Directory Paths
Specifying a Base Platform Toolset with the Intel® oneAPI DPC++/C++ Compiler
Using Property Pages
Using Intel Libraries for oneAPI with Microsoft Visual Studio*
Changing the Selected Intel Libraries for oneAPI
Including MPI Support
Performing Parallel Project Builds
dialog box Help
Options: Compilers dialog box
Options: Intel Libraries for oneAPI dialog box
Use Intel® C++ dialog box
Options: Converter dialog box
Compiler Reference
C/C++/DPC++ Calling Conventions
Compiler Options
Alphabetical List of Compiler Options
Deprecated and Removed Compiler Options
Ways to Display Certain Option Information
Displaying General Option Information From the Command Line
Compiler Option Details
General Rules for Compiler Options
What Appears in the Compiler Option Descriptions
Optimization Options
fast
fbuiltin, Oi
ffunction-sections
foptimize-sibling-calls
GF
nolib-inline
O
Od
Ofast
Os
Ot
Ox
Code Generation Options
arch
EH
fasynchronous-unwind-tables
fexceptions
fomit-frame-pointer, Oy
Gd
Gr
GR
guard
Gv
Gz
m
m32, m64, Q32, Q64
m80387
march
masm
mbranches-within-32B-boundaries, Qbranches-within-32B-boundaries
mconditional-branch, Qconditional-branch
mintrinsic-promote, Qintrinsic-promote
momit-leaf-frame-pointer
mregparm
mtune, tune
Qcxx-features
Qpatchable-addresses
Qsafeseh
regcall, Qregcall
x, Qx
xHost, QxHost
Interprocedural Optimization (IPO) Options
ipo, Qipo
Advanced Optimization Options
ffreestanding, Qfreestanding
fjump-tables
ipp-link, Qipp-link
qactypes, Qactypes
qdaal, Qdaal
qipp, Qipp
qmkl, Qmkl
qopt-assume-no-loop-carried-dep, Qopt-assume-no-loop-carried-dep
qopt-for-throughput, Qopt-for-throughput
qopt-multiple-gather-scatter-by-shuffles, Qopt-multiple-gather-scatter-by-shuffles
qtbb, Qtbb
unroll, Qunroll
use-intel-optimized-headers, Quse-intel-optimized-headers
vec, Qvec
vec-threshold, Qvec-threshold
Optimization Report Options
qopt-report, Qopt-report
Offload Compilation Options, OpenMP* Options, and Parallel Processing Options
Device Offload Compilation Considerations
device-math-lib
fintelfpga
fiopenmp, Qiopenmp
fno-sycl-libspirv
foffload-static-lib
fopenmp
fopenmp-device-lib
fopenmp-target-buffers, Qopenmp-target-buffers
fopenmp-targets, Qopenmp-targets
fsycl
fsycl-add-targets
fsycl-dead-args-optimization
fsycl-device-code-split
fsycl-device-lib
fsycl-device-only
fsycl-early-optimizations
fsycl-enable-function-pointers
fsycl-explicit-simd
fsycl-help
fsycl-host-compiler
fsycl-host-compiler-options
fsycl-id-queries-fit-in-int
fsycl-link
fsycl-link-targets
fsycl-max-parallel-link-jobs
fsycl-targets
fsycl-unnamed-lambda
fsycl-use-bitcode
nolibsycl
qopenmp, Qopenmp
qopenmp-lib, Qopenmp-lib
qopenmp-link, Qopenmp-link
qopenmp-simd, Qopenmp-simd
qopenmp-stubs, Qopenmp-stubs
qopenmp-threadprivate, Qopenmp-threadprivate
reuse-exe
Wno-sycl-strict
Xs
Xopenmp-target
Xsycl-target
Floating-Point Options
ffp-contract
fimf-absolute-error, Qimf-absolute-error
fimf-accuracy-bits, Qimf-accuracy-bits
fimf-arch-consistency, Qimf-arch-consistency
fimf-domain-exclusion, Qimf-domain-exclusion
fimf-force-dynamic-target, Qimf-force-dynamic-target
fimf-max-error, Qimf-max-error
fimf-precision, Qimf-precision
fimf-use-svml, Qimf-use-svml
fma, Qfma
fp-model, fp
fp-speculation, Qfp-speculation
Inlining Options
fgnu89-inline
finline
finline-functions
Output, Debug, and Precompiled Header (PCH) Options
c
debug (Linux* )
debug (Windows*)
Fa
FA
fasm-blocks
FC
Fd
FD
Fe
Fo
Fp
ftrapuv, Qtrapuv
fverbose-asm
g
gdwarf
Gm
grecord-gcc-switches
gsplit-dwarf
o
pdbfile
print-multi-lib
RTC
S
use-msasm
Y-
Yc
Yu
Zi, Z7, ZI
Preprocessor Options
B
C
D
dD, QdD
dM, QdM
E
EP
FI
H, QH
I
I-
idirafter
imacros
iprefix
iquote
isystem
iwithprefix
iwithprefixbefore
Kc++, TP
M, QM
MD, QMD
MF, QMF
MG, QMG
MM, QMM
MMD, QMMD
MP (Linux* OS)
MQ
MT, QMT
nostdinc++
P
pragma-optimization-level
u (Windows*)
U
undef
X
Component Control Options
Qinstall
Qlocation
Qoption
Language Options
ansi
fno-gnu-keywords
fno-operator-names
fno-rtti
fpermissive
fshort-enums
fsyntax-only
funsigned-char
GZ
J
std, Qstd
strict-ansi
vd
vmg
x (type option)
Zc
Zg
Zp
Zs
Data Options
align
fcommon
fkeep-static-consts, Qkeep-static-consts
fmath-errno
fpack-struct
fpascal-strings
fpic
fpie
freg-struct-return
fstack-protector
fstack-security-check
fvisibility
fzero-initialized-in-bss, Qzero-initialized-in-bss
GA
Gs
GS
malign-double
mcmodel
Qlong-double
Compiler Diagnostic Options
w
w0...w5, W0...W5
Wabi
Wall
Wcomment
Wdeprecated
Weffc++, Qeffc++
Werror, WX
Werror-all
Wextra-tokens
Wformat
Wformat-security
Wmain
Wmissing-declarations
Wmissing-prototypes
Wpointer-arith
Wreorder
Wreturn-type
Wshadow
Wsign-compare
Wstrict-aliasing
Wstrict-prototypes
Wtrigraphs
Wuninitialized
Wunknown-pragmas
Wunused-function
Wunused-variable
Wwrite-strings
Compatibility Options
gcc-toolchain
vmv
Linking or Linker Options
Bdynamic
Bstatic
Bsymbolic
Bsymbolic-functions
dynamic-linker
F (Windows*)
fixed
Fm
fuse-ld
l
L
LD
link
MD
MT
no-libgcc
nodefaultlibs
no-intel-lib
nostartfiles
nostdlib
pie
pthread
shared
shared-intel
shared-libgcc
static
static-intel
static-libgcc
static-libstdc++
T
u (Linux* OS)
v
Wa
Wl
Wp
Xlinker
Zl
Miscellaneous Options
dryrun
dumpmachine
dumpversion
Gy
help
intel-freestanding
intel-freestanding-target-os
multibyte-chars, Qmultibyte-chars
multiple-processes
nologo
save-temps, Qsave-temps
showIncludes
sox
sysroot
Tc
TC
Tp
version
watch
Alternate Compiler Options
Related Options
Portability Options
GCC-Compatible Warning Options
Floating-point Operations
Understanding Floating-Point Operations
Programming Tradeoffs in Floating-point Applications
Using the -fp-model (/fp) Option
Denormal Numbers
Setting the FTZ and DAZ Flags
Tuning Performance
Handling Floating-point Array Operations in a Loop Body
Reducing the Impact of Denormal Exceptions
Avoiding Mixed Data Type Arithmetic Expressions
Using Efficient Data Types
Understanding IEEE Floating-Point Operations
Special Values
Attributes
align
align_value
allow_cpu_features
concurrency_safe
const
cpu_dispatch, cpu_specific
mpx
Intrinsics
Libraries
Creating Libraries
Using Intel Shared Libraries
Managing Libraries
Redistributing Libraries When Deploying Applications
Resolving References to Shared Libraries Provided with Intel® oneAPI
Intel®'s Memory Allocator Library
SIMD Data Layout Templates (SDLT)
Usage Guidelines: Function Calls and Containers
Constructing an n_container
Bounds
User-Level Interface
SDLT Primitives (SDLT_PRIMITIVE)
soa1d_container
aos1d_container
access_by
n_container
Layouts
Shape
n_extent_generator
make_n_container template function
extent_d template function
Bounds
bounds_t
bounds Template Function
n_bounds_t
n_bounds_generator
bounds_d Template Function
Accessors
soa1d_container::accessor and aos1d_container::accessor
soa1d_container::const_accessor and aos1d_container::const_accessor
Accessor Concept
Proxy Objects
Proxy
ConstProxy
Number Representation
aligned_offset
fixed_offset
Indexes
linear_index
n_index_t
n_index_generator
index_d template function
Conveniences and Correctness
max_val
min_val
Examples
Example 1
Example 2
Example 3
Example 4
Example 5
Intel® C++ Class Libraries
C++ Classes and SIMD Operations
Capabilities of C++ SIMD Classes
Integer Vector Classes
Terms, Conventions, and Syntax Defined
Rules for Operators
Assignment Operator
Logical Operators
Addition and Subtraction Operators
Multiplication Operators
Shift Operators
Comparison Operators
Conditional Select Operators
Debug Operations
Unpack Operators
Pack Operators
Clear MMX™ State Operator
Integer Functions for Streaming SIMD Extensions
Conversions between Fvec and Ivec
Floating-point Vector Classes
Fvec Notation Conventions
Data Alignment
Conversions
Constructors and Initialization
Arithmetic Operators
Minimum and Maximum Operators
Logical Operators
Compare Operators
Conditional Select Operators for Fvec Classes
Cacheability Support Operators
Debug Operations
Load and Store Operators
Unpack Operators
Move Mask Operators
Classes Quick Reference
Programming Example
C++ Library Extensions
Intel's valarray implementation
Using Intel's valarray Implementation
Intel® C++ Asynchronous I/O Extensions for Windows*
Intel® C++ Asynchronous I/O Library for Windows*
aio_read
aio_write
Example for aio_read and aio_write Functions
aio_suspend
Example for aio_suspend Function
aio_error
aio_return
Example for aio_error and aio_return Functions
aio_fsync
aio_cancel
Example for aio_cancel Function
lio_listio
Example for lio_listio Function
Handling Errors Caused by Asynchronous I/O Functions
Intel® C++ Asynchronous I/O Class for Windows*
Template Class async_class
get_last_operation_id
wait
get_status
get_last_error
get_error_operation_id
stop_queue
resume_queue
clear_queue
Example for Using async_class Template Class
Intel® IEEE 754-2008 Binary Floating-Point Conformance Library
Overview: IEEE 754-2008 Binary Floating-Point Conformance Library
Using the IEEE 754-2008 Binary Floating-point Conformance Library
Function List
Homogeneous General-Computational Operations Functions
General-Computational Operations Functions
Quiet-Computational Operations Functions
Signaling-Computational Operations Functions
Non-Computational Operations Functions
Intel's String and Numeric Conversion Library
Overview
Function List
Macros
ISO Standard Predefined Macros
Additional Predefined Macros
Predefined Macros
Pragmas
Intel-specific Pragma Reference
alloc_section
block_loop/noblock_loop
code_align
distribute_point
inline/noinline/forceinline
intel_omp_task
intel_omp_taskq
ivdep
loop_count
nofusion
novector
omp simd early_exit
optimize
optimization_level
optimization_parameter
parallel/noparallel
prefetch/noprefetch
simd
simdoff
target variant dispatch
unroll nounroll
unroll_and_jam nounroll_and_jam
vector
Intel-supported Pragma Reference
Error Handling
Warnings and Errors
Compilation
Supported Environment Variables
Compilation Phases
Passing Options to the Linker
Specifying Alternate Tools and Paths
Using Configuration Files
Using Response Files
Global Symbols and Visibility Attributes
Specifying Symbol Visibility Explicitly
Saving Compiler Information in Your Executable
Linking Debug Information
Ahead of Time Compilation
Compile Host Programs with a Third Party Compiler
Optimization and Programming Guide
Extensions
OpenMP* Support
Adding OpenMP* Support to your Application
Parallel Processing Model
Worksharing Using OpenMP*
Controlling Thread Allocation
OpenMP* Pragmas Summary
OpenMP* Library Support
OpenMP* Run-time Library Routines
Intel Extension Routines to OpenMP*
OpenMP* Support Libraries
Using the OpenMP* Libraries
Thread Affinity Interface
OpenMP* Memory Spaces and Allocators
OpenMP* Advanced Issues
OpenMP* Implementation-Defined Behaviors
OpenMP* Examples
Intel® oneAPI Level Zero Introduction
Intel® oneAPI Level Zero Switch
Intel® oneAPI Level Zero Backend Specification
Vectorization
Automatic Vectorization
Programming Guidelines for Vectorization
Using Automatic Vectorization
Vectorization and Loops
Loop Constructs
Explicit Vector Programming
User-Mandated or SIMD Vectorization
SIMD-Enabled Functions
SIMD-Enabled Function Pointers
SIMD Vectorization Using the _Simd Keyword
Function Annotations and the SIMD Directive for Vectorization
Explicit SIMD SYCL* Extension
High-Level Optimization (HLO)
Interprocedural Optimization (IPO)
Using IPO
IPO-Related Performance Issues
IPO for Large Programs
Understanding Code Layout and Multi-Object IPO
Creating a Library from IPO Objects
Inline Expansion of Functions
Compiler Directed Inline Expansion of Functions
Developer Directed Inline Expansion of User Functions
Methods to Optimize Code Size
Disable or Decrease the Amount of Inlining
Strip Symbols from Your Binaries
Dynamically Link Intel-Provided Libraries
Exclude Unused Code and Data from the Executable
Disable Recognition and Expansion of Intrinsic Functions
Optimize Exception Handling Data (Linux)
Disable Loop Unrolling
Disable Automatic Vectorization
Avoid References to Compiler-Specific Libraries
Use Inter-Procedural Optimization (IPO)
Intel® Math Library
Using Intel® Math Library
Math Functions
Function List
Trigonometric Functions
Hyperbolic Functions
Exponential Functions
Special Functions
Nearest Integer Functions
Remainder Functions
Miscellaneous Functions
Complex Functions
C99 Macros
Compatibility and Portability
Conformance to the C/C++ Standards
GCC* Compatibility and Interoperability
Microsoft* Compatibility
Precompiled Header Support
Compilation and Execution Differences
Enum Bit-Field Signedness
Portability
Porting from the Microsoft* Compiler to the Intel® oneAPI DPC++/C++ Compiler
Modifying Your makefile
Other Considerations
Porting from GCC* to the Intel® oneAPI DPC++/C++ Compiler
Modifying Your makefile
Equivalent Macros
Other Considerations
Notices and Disclaimers