oneAPI Specification
1.0
Introduction
Target Audience
Goals of the Specification
Definitions
Contribution Guidelines
Sign your work
Software Architecture
oneAPI Platform
API Programming Example
Direct Programming Example
Library Interoperability
Queueing
API Arguments
Asynchronous APIs
Exceptions
oneAPI Elements
DPC++
Overview
Detailed API and Language Descriptions
Open Source Implementation
Testing
Acknowledgment
oneDPL
Namespaces
Supported C++ Standard Library APIs and Algorithms
Extensions to Parallel STL
DPC++ Execution Policy
device_policy class
make_device_policy function
Buffer wrappers
Specific API of oneDPL
Function Objects
Iterators
Parallel Algorithms
oneDNN
Introduction
General API notes
Error Handling
Namespaces
Conventions
Variable (Tensor) Names
RNN-Specific Notation
Execution Model
Engine
Stream
Data model
Data types
Bfloat16
Int8
Memory
Memory Formats
Memory Descriptors and Objects
Primitives
Common Definitions
Base Class for Primitives
Base Class for Primitives Descriptors
Common Enumerations
Normalization Primitives Flags
Execution argument indices
Attributes
Post-ops
Scratchpad Mode
Quantization
Attribute Related Error Handling
API
Batch Normalization
Forward
Backward
Execution Arguments
Operation Details
Data Types Support
Data Representation
Post-ops and Attributes
API
Binary
Forward and Backward
Execution Arguments
Operation Details
Post-ops and Attributes
Data Types Support
Data Representation
API
Concat
Forward and Backward
Execution Arguments
Operation Details
Data Types Support
Data Representation
Post-ops and Attributes
API
Convolution and Deconvolution
Forward
Backward
Execution Arguments
Operation Details
Data Types Support
Data Representation
Post-ops and Attributes
Algorithms
API
Elementwise
Forward
Backward
Difference Between Forward Training and Forward Inference
Execution Arguments
Operation Details
Data Type Support
Data Representation
Post-ops and Attributes
API
Inner Product
Forward
Backward
Operation Details
Data Types Support
Data Representation
Post-ops and Attributes
API
Layer normalization
Forward
Backward
Execution Arguments
Operation Details
Data Types Support
Data Representation
API
LogSoftmax
Forward
Backward
Execution Arguments
Operation Details
Post-ops and Attributes
Data Type Support
Data Representation
API
Local Response Normalization
Forward
Backward
Matrix Multiplication
Execution Arguments
Operation Details
Data Types Support
Data Representation
Attributes and Post-ops
API
Pooling
Forward
Backward
Execution Arguments
Operation Details
Data Type Support
Data Representation
Post-ops and Attributes
API
Reorder
Execution Arguments
Operation Details
Data Types Support
Data Representation
Post-ops and Attributes
API
Resampling
Forward
Backward
Execution Arguments
Operation Details
Data Types Support
Post-ops and Attributes
API
RNN
Cell Functions
Execution Arguments
Operation Details
Data Types Support
API
Shuffle
Forward
Backward
Execution Arguments
Operation Details
Data Types Support
Data Layouts
Post-ops and Attributes
API
Softmax
Forward
Backward
Execution Arguments
Operation Details
Post-ops and Attributes
Data Types Support
Data Representation
API
Sum
Execution Arguments
Operation Details
Post-ops and Attributes
Data Types Support
Data Representation
API
Open Source Implementation
Implementation Notes
Testing
oneCCL
Introduction
Definitions
oneCCL Concepts
Environment
Key-Value Store
Communicator
Device Communicator
Request
Event
Stream
Operation Attributes
Communication Operations
Datatypes
Reductions
Collective Operations
Operation Attributes
Operation Progress Tracking
Error Handling
Programming Model
Generic Workflow
Host Communication Support
Example
Device Communication Support
Example
Level Zero
Detailed API Descriptions
oneDAL
Introduction
Glossary
Machine learning terms
oneDAL terms
Common oneAPI terms
Mathematical Notations
Programming model
End-to-end example
Descriptors
Floating-point Types
Computational Methods
Computational Tasks
Operations
General operation definition
Operation shortcuts
Input
Result
Supported operation
Computational modes
Batch
Online
Distributed
Common Interface
Current Version of this oneDAL Specification
Header files
Namespaces
Error handling
Exception classification
Common type definitions
Programming interface
Data management
Key concepts
Dataset
Data source
Table
Table metadata
Accessor
Example of interaction between table and accessor objects
Details
Array
Accessors
Data Sources
Tables
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
Related terms
Bibliography
oneTBB
General Information
Introduction
Notational Conventions
Identifiers
Case
Reserved Identifier Prefixes
Named Requirements
Algorithms
Mutexes
Containers
Task scheduler
Flow Graph
Thread Safety
oneTBB Interfaces
Configuration
Namespaces
Version Information
Enabling Debugging Features
Feature Macros
Algorithms
Parallel Functions
Blocked Ranges
Partitioners
Split Tags
Flow Graph
Graph Class
Nodes
Ports and Edges
Special Messages Types
Examples
Task Scheduler
Scheduling controls
Task Group
Task Arena
Containers
Sequences
Queues
Unordered associative containers
Ordered associative containers
Auxiliary classes
Thread Local Storage
combinable
enumerable_thread_specific
flattened2d
oneTBB Auxiliary Interfaces
Memory Allocation
Allocators
Memory Resources
Library Functions
Mutual Exclusion
Mutex Classes
Timing
Syntax
Classes
oneVPL
Architecture
Programming Guide
Mandatory APIs and Functions
Disclaimer
Exported Functions
Mandatory APIs
oneVPL API Reference
Function Reference
Structure Reference
Enumerator Reference
Angle
BitstreamDataFlag
BPSEIControl
BRCStatus
BRefControl
ChromaFormateIdc
ChromaSiting
CodecFormatFourCC
CodecLevel
CodecProfile
CodingOptionValue
ColorFourCC
ContentInfo
Corruption
DeinterlacingMode
ErrorTypes
ExtendedBufferID
ExtMemBufferType
ExtMemFrameType
Frame Data Flags
FrameType
FrcAlgm
GeneralConstraintFlags
GopOptFlag
GPUCopy
HEVC Profiles
HEVC Tiers
HEVCRegionEncoding
HEVCRegionType
ImageStabMode
InsertHDRPayload
InterpolationMode
IntraPredBlockSize/InterPredBlockSize
IntraRefreshTypes
IOPattern
JPEG Profiles
JPEGColorFormat
JPEGScanType
LongTermIdx
LookAheadDownSampling
MBQPMode
mfxComponentType
mfxHandleType
mfxIMPL
mfxImplCapsDeliveryFormat
mfxMediaAdapterType
mfxMemoryFlags
MfxNalUnitType
mfxPriority
mfxResourceType
mfxSkipMode
mfxStatus
MirroringType
MPEG-2 Profiles
Multi-view Video Coding Extension Profiles
MVPrecision
NominalRange
PartialBitstreamOutput
PayloadCtrlFlags
PicStruct
PicType
PlatformCodeName
PRefType
Protected
RateControlMethod
ROImode
Rotation
SampleAdaptiveOffset
ScalingMode
ScenarioInfo
SegmentFeature
SegmentIdBlockSize
SkipFrame
TargetUsage
TelecinePattern
TimeStampCalc
TransferMatrix
TrellisControl
VC-1 Profiles
VP8 Profiles
VP9 Profiles
VP9ReferenceFrame
VPPFieldProcessingMode
WeightedPred
Define Reference
API
Type Reference
Basic Types
Typedefs
Dispatcher API
Dispatcher API Function Reference
Dispatcher API Structure Reference
Dispatcher API Enumeration Reference
Dispatcher API Define Reference
oneVPL API Versioning
Appendices
oneVPL for Intel
®
Media Software Development Kit Users
oneVPL Ease of Use Enhancements
New APIs in oneVPL
Intel
®
Media Software Development Kit Feature Removals
Intel
®
Media Software Development Kit API Removals
Configuration Parameter Constraints
DECODE, ENCODE, and VPP Constraints
DECODE Constraints
ENCODE Constraints
VPP Constraints
Specifying Configuration Parameters
Multiple-segment Encoding
Streaming and Video Conferencing Features
Dynamic Bitrate Change
Dynamic Resolution Change
Dynamic Reference Frame Scaling
Forced Keyframe Generation
Reference List Selection
Low Latency Encoding and Decoding
Reference Picture Marking Repetition SEI Message
Long Term Reference Frame
Temporal Scalability
Switchable Graphics and Multiple Monitors
Switchable Graphics
Multiple Monitors
Working Directly with VA API for Linux*
CQP HRD Mode Encoding
Glossary
Acronyms and Terms
Video Formats
Color Formats
oneMKL
oneMKL Architecture
Execution Model
Use of Queues
Device Usage
Asynchronous Execution
Host Thread Safety
Memory Model
The Buffer Memory Model
Unified Shared Memory Model
API Design
oneMKL namespaces
Standard C++ datatype usage
DPC++ datatype usage
oneMKL defined datatypes
Exceptions and Error Handling
Exception classification
Other Features
Current Version of this oneMKL Specification
Pre/Post Condition Checking
oneMKL Domains
Dense Linear Algebra
Sparse Linear Algebra
Discrete Fourier Transforms
Random Number Generators
Summary Statistics
Vector Math
oneMKL Appendix
Future considerations
Acknowledgement
Contributors
HTML and PDF Versions
Release Notes
1.0
0.9
0.85
0.8
0.7
0.5
Legal Notices and Disclaimers
oneAPI Specification
oneAPI Specification
»
oneTBB
Edit on GitHub
General Information
¶
Introduction
Notational Conventions
Identifiers
Case
Reserved Identifier Prefixes
Named Requirements
Algorithms
Mutexes
Containers
Task scheduler
Flow Graph
Thread Safety