Ctrl+K
logo

oneAPI Specification 1.2-rev-1 documentation

Ctrl+K
  • Introduction
  • Software Architecture
  • SYCL
  • oneDPL
    • Namespaces
    • Parallel API
    • SYCL Kernels API
  • 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
      • Local Response Normalization
      • Matrix Multiplication
      • Pooling
      • Prelu
      • Reduction
      • Reorder
      • Resampling
      • RNN
      • Shuffle
      • Softmax
      • Sum
    • Graph extension
      • Common Definitions
      • Programming Model
      • Data Model
      • Operation Set
        • Abs
        • AbsBackward
        • Add
        • AvgPool
        • AvgPoolBackward
        • BatchNormForwardTraining
        • BatchNormInference
        • BatchNormTrainingBackward
        • BiasAdd
        • BiasAddBackward
        • Clamp
        • ClampBackward
        • Concat
        • ConvTranspose
        • ConvTransposeBackwardData
        • ConvTransposeBackwardWeights
        • Convolution
        • ConvolutionBackwardData
        • ConvolutionBackwardWeights
        • Dequantize
        • Divide
        • DynamicDequantize
        • DynamicQuantize
        • Elu
        • EluBackward
        • End
        • Exp
        • GELU
        • GELUBackward
        • HardSwish
        • HardSwishBackward
        • Interpolate
        • InterpolateBackward
        • LayerNorm
        • LayerNormBackward
        • LeakyReLU
        • Log
        • LogSoftmax
        • LogSoftmaxBackward
        • MatMul
        • MaxPool
        • MaxPoolBackward
        • Maximum
        • Minimum
        • Mish
        • MishBackward
        • Multiply
        • PReLU
        • PReLUBackward
        • Quantize
        • ReLU
        • ReLUBackward
        • Reciprocal
        • ReduceL1
        • ReduceL2
        • ReduceMax
        • ReduceMean
        • ReduceMin
        • ReduceProd
        • ReduceSum
        • Reorder
        • Round
        • Sigmoid
        • SigmoidBackward
        • SoftPlus
        • SoftPlusBackward
        • Softmax
        • SoftmaxBackward
        • Sqrt
        • SqrtBackward
        • Square
        • SquaredDifference
        • StaticReshape
        • StaticTranspose
        • Subtract
        • Tanh
        • TanhBackward
        • TypeCast
        • Wildcard
  • 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
      • 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
        • collaborative_call_once
        • parallel_for
        • parallel_reduce
        • parallel_deterministic_reduce
        • parallel_scan
        • parallel_for_each
        • parallel_invoke
        • parallel_pipeline
        • parallel_sort
        • blocked_range
        • blocked_range2d
        • blocked_range3d
        • auto_partitioner
        • affinity_partitioner
        • static_partitioner
        • simple_partitioner
        • proportional split
        • split
      • Flow Graph
        • graph
        • 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
        • 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_scheduler_handle
        • task_group
        • task_group_status
        • task_handle
        • task_arena
        • this_task_arena
        • task_scheduler_observer
        • attach tag type
      • Containers
        • concurrent_vector
        • concurrent_queue
        • concurrent_bounded_queue
        • concurrent_priority_queue
        • concurrent_hash_map
        • concurrent_unordered_map
        • concurrent_unordered_multimap
        • concurrent_unordered_set
        • concurrent_unordered_multiset
        • concurrent_map
        • concurrent_multimap
        • concurrent_set
        • concurrent_multiset
        • tbb_hash_compare
        • Node handles
      • Thread Local Storage
        • combinable
        • enumerable_thread_specific
        • 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
        • mutex
        • rw_mutex
        • 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
      • info Namespace
    • oneTBB Deprecated Interfaces
      • task_arena::attach
  • 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
        • Camera 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
      • GUIDs Reference
    • oneVPL API Versioning
    • oneVPL Experimental API
    • 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
    • Deprecated API
    • Change Log
  • oneMKL
    • oneMKL Architecture
    • oneMKL Domains
      • Matrix Storage
      • BLAS Routines
        • BLAS Level 1 Routines
        • BLAS Level 2 Routines
        • BLAS Level 3 Routines
        • BLAS-like Extensions
      • 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
        • descriptor
        • compute_forward
        • compute_backward
      • Random Number Generators (RNG)
        • oneMKL RNG Usage Model
        • Generate Routine
        • Engines (Basic Random Number Generators)
        • Service Routines
        • Distributions
        • Bibliography
      • Summary Statistics
        • oneMKL Summary Statistics Usage Model
        • dataset
        • Summary Statistics Routines
        • Service Routines
      • Vector Math
        • Special Value Notations
        • VM Mathematical Functions
        • VM Service Functions
        • Exceptions
        • Bibliography
    • oneMKL Appendix
  • Ray Tracing
    • Component Libraries
      • Embree
        • Introduction
      • Open VKL
        • Introduction
        • Open VKL API
      • Open Image Denoise
        • Introduction
        • Open Image Denoise API
      • OSPRay
        • Introduction
        • OSPRay API
    • Appendices
      • OSPRay Studio
      • OSPRay Plug-in for USD Hydra
      • ISPC Implicit SPMD Program Compiler
      • Future Considerations
      • Acknowledgment
  • Releases
  • Legal Notices and Disclaimers
Theme by the Executable Book Project
  • open issue
  • suggest edit
  • .rst

Legal Notices and Disclaimers

Legal Notices and Disclaimers#

The content of this oneAPI Specification is licensed under the Creative Commons Attribution 4.0 International License. Unless stated otherwise, the sample code examples in this document are released to you under the MIT license.

This specification is a continuation of Intel’s decades-long history of working with standards groups and industry/academia initiatives such as The Khronos Group*, to create and define specifications in an open and fair process to achieve interoperability and interchangeability. oneAPI is intended to be an open specification and we encourage you to help us make it better. Your feedback is optional, but to enable Intel to incorporate any feedback you may provide to this specification, and to further upstream your feedback to other standards bodies, including The Khronos Group SYCL* specification, please submit your feedback under the terms and conditions below. Any contribution of your feedback to the oneAPI Specification does not prohibit you from also contributing your feedback directly to other standard bodies, including The Khronos Group under their respective submission policies.

By opening an issue, providing feedback, or otherwise contributing to the specification, you agree that Intel will be free to use, disclose, reproduce, modify, license, or otherwise distribute your feedback at its sole discretion without any obligations or restrictions of any kind, including without limitation, intellectual property rights or licensing obligations.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice.

Intel and the Intel logo 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.

previous

Acknowledgment

© Copyright 2022, Intel Corporation.