oneAPI Specification 1.1-provisional-rev-1 documentation
Introduction
Software Architecture
DPC++
oneDPL
Namespaces
Supported C++ Standard Library APIs and Algorithms
Extensions to Parallel STL
Specific API of oneDPL
oneDNN
Introduction
Conventions
Execution Model
Data model
Data types
Bfloat16
Int8
Memory
Memory Formats
Memory Descriptors and Objects
Primitives
Common Definitions
Attributes
Post-ops
Batch Normalization
Binary
Concat
Convolution and Deconvolution
Elementwise
Inner Product
Layer normalization
LogSoftmax
Local Response Normalization
Matrix Multiplication
Pooling
Reorder
Resampling
RNN
Shuffle
Softmax
Sum
oneCCL
Introduction
Namespaces
Current Version of this oneCCL Specification
Definitions
oneCCL Concepts
Communication Operations
Datatypes
Reductions
Collective Operations
Operation Attributes
Operation Progress Tracking
Error handling
Programming Model
Generic Workflow
Level Zero
oneDAL
Introduction
Glossary
Mathematical Notations
Programming model
End-to-end example
Descriptors
Operations
Supported operations
Computational modes
Common Interface
Current Version of this oneDAL Specification
Header files
Namespaces
Error handling
Common type definitions
Data management
Array
Accessors
Column accessor
Row accessor
Data Sources
CSV data source
Tables
Homogeneous table
Algorithms
Clustering
K-Means
K-Means initialization
Nearest Neighbors (kNN)
k-Nearest Neighbors Classification (k-NN)
Decomposition
Principal Components Analysis (PCA)
Appendix
k-d Tree
Bibliography
oneTBB
General Information
Introduction
Notational Conventions
Identifiers
Named Requirements
Range
Splittable
ParallelForBody
ParallelForFunc
ParallelForIndex
ParallelReduceBody
ParallelReduceFunc
ParallelReduceReduction
ParallelForEachBody
ContainerBasedSequence
ParallelScanBody
ParallelScanCombine
ParallelScanFunc
BlockedRangeValue
FilterBody
Mutex
ReaderWriterMutex
HashCompare
ContainerRange
SuspendFunc
AsyncNodeBody
ContinueNodeBody
GatewayType
FunctionNodeBody
JoinNodeFunctionObject
InputNodeBody
MultifunctionNodeBody
Sequencer
Thread Safety
oneTBB Interfaces
Configuration
Namespaces
Version Information
Enabling Debugging Features
Feature Macros
Algorithms
parallel_for
parallel_reduce
parallel_deterministic_reduce
parallel_scan
pre_scan_tag and final_scan_tag
parallel_for_each
feeder
parallel_invoke
parallel_pipeline
filter
filter_mode
flow_control
parallel_sort
blocked_range
blocked_range2d
blocked_range3d
auto_partitioner
affinity_partitioner
static_partitioner
simple_partitioner
proportional split
split
Flow Graph
graph
reset_flags Enumeration
graph_node
sender
receiver
Forwarding and Buffering
continue_node
function_node
input_node
multifunction_node
async_node
Function Nodes Policies
Nodes Priorities
Predefined Concurrency Limits
copy_body
overwrite_node
write_once_node
buffer_node
queue_node
priority_queue_node
sequencer_node
limiter_node
broadcast_node
join_node
join_node Policies
split_node
indexer_node
composite_node
input_port
output_port
make_edge
remove_edge
continue_msg
tagged_msg
Dependency Flow Graph Example
Message Flow Graph Example
Task Scheduler
task_group_context
global_control
Resumable tasks
task_group
task_group_status
task_arena
this_task_arena
task_scheduler_observer
Containers
concurrent_vector
Construction, destruction, copying
Concurrent growth
Element access
Iterators
Size and capacity
Concurrently unsafe operations
Parallel iteration
Non-member binary comparisons
Non-member lexicographical comparisons
Non-member swap
Deduction guides
concurrent_queue
Construction, destruction, copying
Concurrently safe member functions
Concurrently unsafe member functions
Iterators
Deduction guides
concurrent_bounded_queue
Construction, destruction, copying
Concurrently safe member functions
Concurrently unsafe member functions
Iterators
Deduction guides
concurrent_priority_queue
Construction, destruction, copying
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_hash_map
accessor and const_accessor
Construction, destruction, copying
Concurrently unsafe modifiers
Hash policy
Size and capacity
Lookup
Concurrently safe modifiers
Iterators
Parallel iteration
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_unordered_map
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Element access
Lookup
Bucket interface
Hash policy
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_unordered_multimap
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Bucket interface
Hash policy
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_unordered_set
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Bucket interface
Hash policy
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_unordered_multiset
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Bucket interface
Hash policy
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Deduction guides
concurrent_map
value_compare
Construction, destruction, copying
Element access
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Non-member lexicographical comparisons
Deduction guides
concurrent_multimap
value_compare
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Non-member lexicographical comparisons
Deduction guides
concurrent_set
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Non-member lexicographical comparisons
Deduction guides
concurrent_multiset
Construction, destruction, copying
Iterators
Size and capacity
Concurrently safe modifiers
Concurrently unsafe modifiers
Lookup
Observers
Parallel iteration
Non-member swap
Non-member binary comparisons
Non-member lexicographical comparisons
Deduction guides
tbb_hash_compare
Node handles
Thread Local Storage
combinable
enumerable_thread_specific
Construction, destruction, copying
Concurrently safe modifiers
Concurrently unsafe modifiers
Size and capacity
Iteration
Combining
flattened2d
oneTBB Auxiliary Interfaces
Memory Allocation
tbb_allocator
scalable_allocator
cache_aligned_allocator
cache_aligned_resource
scalable_memory_resource
C Interface to Scalable Allocator
Mutual Exclusion
spin_mutex
spin_rw_mutex
speculative_spin_mutex
speculative_spin_rw_mutex
queuing_mutex
queuing_rw_mutex
null_mutex
null_rw_mutex
Timing
tick_count class
tick_count::interval_t class
Non-member functions
info Namespace
oneVPL
oneVPL for Intel
®
Media Software Development Kit Users
Architecture
Video Decoding
Video Encoding
Video Processing
Video Decoding with multiple video processing
Programming Guide
Status Codes
oneVPL Session
Frame and Fields
Decoding Procedures
Encoding Procedures
Video Processing Procedures
Transcoding Procedures
Hardware Acceleration
Memory Allocation and External Allocators
Hardware Device Error Handling
Mandatory APIs and Functions
oneVPL API Reference
Function Reference
VideoDECODE
VideoENCODE
VideoVPP
VideoCORE
Session Management
Memory
Implementation Capabilities
Adapters
VideoDECODE_VPP
Structure Reference
Type Definitions
Memory Structures
Implementation Management
Cross-component Structures
Decode Structures
Encode Structures
VPP Structures
Protected Structures
DECODDE_VPP Structures
Enumerator Reference
Define Reference
Type Reference
Dispatcher API
Dispatcher API Function Reference
Dispatcher API Structure Reference
Dispatcher API Enumeration Reference
Dispatcher API Define Reference
oneVPL API Versioning
Appendices
Configuration Parameter Constraints
Multiple-segment Encoding
Streaming and Video Conferencing Features
Switchable Graphics and Multiple Monitors
Working Directly with VA API for Linux*
CQP HRD Mode Encoding
Glossary
Change Log
oneMKL
oneMKL Architecture
oneMKL Domains
Matrix Storage
BLAS Routines
BLAS Level 1 Routines
asum
axpy
copy
dot
sdsdot
dotc
dotu
nrm2
rot
rotg
rotm
rotmg
scal
swap
iamax
iamin
BLAS Level 2 Routines
gbmv
gemv
ger
gerc
geru
hbmv
hemv
her
her2
hpmv
hpr
hpr2
sbmv
spmv
spr
spr2
symv
syr
syr2
tbmv
tbsv
tpmv
tpsv
trmv
trsv
BLAS Level 3 Routines
gemm
hemm
herk
her2k
symm
syrk
syr2k
trmm
trsm
BLAS-like Extensions
axpy_batch
gemm_batch
trsm_batch
gemmt
gemm_bias
LAPACK Routines
geqrf
geqrf_scratchpad_size
gerqf
gerqf_scratchpad_size
getrf
getrf_scratchpad_size
getri
getri_scratchpad_size
getrs
getrs_scratchpad_size
hetrf
hetrf_scratchpad_size
orgqr
orgqr_scratchpad_size
ormqr
ormqr_scratchpad_size
ormrq
ormrq_scratchpad_size
potrf
potrf_scratchpad_size
potri
potri_scratchpad_size
potrs
potrs_scratchpad_size
sytrf
sytrf_scratchpad_size
trtrs
trtrs_scratchpad_size
ungqr
ungqr_scratchpad_size
unmqr
unmqr_scratchpad_size
unmrq
unmrq_scratchpad_size
gebrd
gebrd_scratchpad_size
gesvd
gesvd_scratchpad_size
heevd
heevd_scratchpad_size
hegvd
hegvd_scratchpad_size
hetrd
hetrd_scratchpad_size
orgbr
orgbr_scratchpad_size
orgtr
orgtr_scratchpad_size
ormtr
ormtr_scratchpad_size
syevd
syevd_scratchpad_size
sygvd
sygvd_scratchpad_size
sytrd
sytrd_scratchpad_size
ungbr
ungbr_scratchpad_size
ungtr
ungtr_scratchpad_size
unmtr
unmtr_scratchpad_size
geqrf_batch
geqrf_batch_scratchpad_size
getrf_batch
getrf_batch_scratchpad_size
getri_batch
getri_batch_scratchpad_size
getrs_batch
getrs_batch_scratchpad_size
orgqr_batch
orgqr_batch_scratchpad_size
potrf_batch
potrf_batch_scratchpad_size
potrs_batch
potrs_batch_scratchpad_size
ungqr_batch
ungqr_batch_scratchpad_size
Sparse BLAS
init_matrix_handle
release_matrix_handle
set_csr_data
gemm
gemv
gemvdot
optimize_gemv
symv
trmv
optimize_trmv
trsv
optimize_trsv
Supported Types
Sparse storage formats
Discrete Fourier Transform Functions
Configuration Parameters and Enums
Forward and Backward Scale
Number of Transforms
Storage Formats
INPUT_STRIDES and OUTPUT_STRIDES
FORWARD_DISTANCE and BACKWARD_DISTANCE
descriptor
compute_forward
compute_backward
Random Number Generators (RNG) Overview
oneMKL RNG Usage Model
Generate Routine
generate
Engines (Basic Random Number Generators)
default_engine
mrg32k3a
philox4x32x10
mcg31m1
mcg59
r250
wichmann_hill
mt19937
sfmt19937
mt2203
ars5
sobol
niederreiter
nondeterministic
Service Routines
leapfrog
skip_ahead
Distributions
Distributions Template Parameter Method
uniform (continuous)
gaussian
exponential
laplace
weibull
cauchy
rayleigh
lognormal
gumbel
gamma
beta
chi_square
gaussian_mv
uniform (discrete)
uniform_bits
bits
bernoulli
geometric
binomial
hypergeometric
poisson
poisson_v
negative_binomial
multinomial
Bibliography
Summary Statistics Overview
oneMKL Summary Statistics Usage Model
dataset
Summary Statistics Routines
raw_sum
central_sum
central_sum with provided mean
mean
raw_moment
central_moment
central_moment with provided mean
variation
variation with provided mean
skewness
skewness with provided mean
kurtosis
kurtosis with provided mean
min
max
min_max
Service Routines
make_dataset
Special Value Notations
VM Mathematical Functions
abs
acos
acosh
acospi
add
arg
asin
asinh
asinpi
atan
atan2
atan2pi
atanh
atanpi
cbrt
cdfnorm
cdfnorminv
ceil
cis
conj
copysign
cos
cosd
cosh
cospi
div
erf
erfc
erfcinv
erfinv
exp
exp10
exp2
expint1
expm1
fdim
floor
fmax
fmin
fmod
frac
hypot
inv
invcbrt
invsqrt
lgamma
linearfrac
ln
log10
log1p
log2
logb
maxmag
minmag
modf
mul
mulbyconj
nearbyint
nextafter
pow
pow2o3
pow3o2
powr
powx
remainder
rint
round
sin
sincos
sind
sinh
sinpi
sqr
sqrt
sub
tan
tand
tanh
tanpi
tgamma
trunc
VM Service Functions
set_mode
get_mode
set_status
get_status
clear_status
create_error_handler
Exceptions
Bibliography
oneMKL Appendix
Advanced Ray Tracing
Component Libraries
Embree
Introduction
Embree API
Open VKL
Introduction
Open VKL API
Performance Recommendations
Open Image Denoise
Introduction
Open Image Denoise API
Training
OSPRay
Introduction
OSPRay API
Distributed Rendering with MPI
Appendices
OSPRay Studio
OSPRay Plug-in for USD Hydra
ISPC Implicit SPMD Program Compiler
Future Considerations
Acknowledgment
Releases
Legal Notices and Disclaimers
.rst
.pdf
open issue
suggest edit
General Information
¶
Introduction
Notational Conventions
Identifiers
Case
Reserved Identifier Prefixes
Named Requirements
Algorithms
Mutexes
Containers
Task scheduler
Flow Graph
Thread Safety
oneTBB
Introduction