Intel® oneAPI Base Toolkit Release Notes

Last Updated: 12/20/2021

By Sravani Konda

Intel® oneAPI Base Toolkit supports direct programming and API programming, and delivers a unified language and libraries that offer full native code support across a range of hardware including Intel® and compatible processors, Intel® Processor Graphics Gen9, Gen11, Intel® Iris® Xe MAX graphics, and Intel® Arria® 10 or Intel® Stratix® 10 SX FPGAs. It offers direct programming model as well as API-based programming model, and it also contains analysis & debug tools for development and performance tuning.

Major Features Supported

Please visit Intel® oneAPI Toolkit and Component Versioning Schema for semantic versioning schema detail. 

System Requirements

Please see Intel oneAPI Base Toolkit System Requirements

New in 2022.1.1 Product Release for Linux only

  • Intel oneAPI Base Toolkit 2022.1.1 for Linux has been updated to use Log4j version 2.16 and may not include the latest functional and security updates. Intel oneAPI Base Toolkit 2022.1.2 is targeted to be released in January 2022 and will include additional functional and/or security updates. Customers should update to the latest version as it becomes available.

New in 2022.1 Product Release

Key Features at toolkit level

  • Intel® oneAPI DPC++/C++ Compiler includes new SYCL 2020 features,new openMP 5.x features, and new platform optimizations for recently released and upcoming Intel® Xeon® Scalable Processors.
  • ​Intel® VTune™ Profiler introduces support for Intel® microarchitecture code named Alder Lake in Microarchitecture Exploration and Memory Access analyses.  
  • Intel® oneAPI Deep Neural Networks Library now allows you to seamlessly take advantage of new Intel® Advanced Matrix Extensions (Intel® AMX) instructions in future Intel® Xeon® Scalable Processors for int8 inference and bfloat16 training AI workloads.
  • 32-bit Intel® Integrated Performance Primitives (Intel® IPP) and 32-bit Intel® oneAPI Math Kernel Library (oneMKL) on Windows* OS are provided separately as part of Intel® oneAPI Base Toolkit 32-bit package. It can be downloaded here as an add-on that requires Intel® oneAPI Base Toolkit to be installed first.
  • Added support for Microsoft* Windows Subsystem for Linux 2 (WSL2) on CPU and for limited components on GPU. For more information on usage, refer to Use Intel® oneAPI Toolkits on Microsoft* Windows Subsystem for Linux 2 (WSL 2).

Intel® oneAPI DPC++/C++ Compiler 2022.0

  • The Intel® oneAPI DPC++/C++ Compiler adds new SYCL 2020 features and extensions, and expands its OpenMP 5.x support.
  • New platform optimizations for recently released and upcoming Intel® Processors.
  • Added support for Microsoft Visual Studio 2022.

Intel® oneAPI DPC++ Library (oneDPL) 2021.6

  • Intel® oneAPI DPC++ Library adds serial versions of the following algorithms: for_each_n, copy, copy_backward, copy_if, copy_n, is_permutation, fill, fill_n, move and move_backward, allowing developers to invoke thes functions directly in SYCL device code:. For details see Tested Standard C++ API References.
  • This release adds the ability to use OpenMP for thread-level parallelism. Algorithms launched with dpl::execution::par/par_unseq policies can run on top of OpenMP parallel regions, as an alternative to oneTBB or serial execution. This allows developers who already use OpenMP on multicore CPUs to also use oneDPL high-level parallel algorithms in their codes, without introducing extra dependencies and performance risks

Intel® DPC++ Compatibility Tool 2022.0

  • Migration is improved for CUB*, CUDA* Driver,  and CUDA properties API migration
  • Introduced new capability to automatically generate makefiles for newly migrated DPC++ source files

Intel® oneAPI Math Kernel Library (oneMKL) 2022.0

  • The new oneMKL support for BLAS & LAPACK LP64/ILP64 allows users to use both 32-bit integer interfaces and 64-bit integer interfaces in the same application. 
  • Added new support for FFT MKL_Verbose, Sparse matrix multiply for scientific computing.
  • Intel® oneAPI Math Kernel Library optimizations for Intel® Xeon® and Xe architechtures.   

Intel® oneAPI Threading Building Blocks (oneTBB) 2021.5

  • Added support for Microsoft Visual Studio 2022* and Python 3.9*.
  • Intel® oneAPI Threading Building Blocks improved its synchronization mechanism to reduce contention when multiple task_arena’s are used concurrently, allowing for task_arena’s to be more independent and more task_arena’s to execute simultaneously/concurrently without performance impact.

Intel® Distribution for GDB* 2021.5

  • Added support for Microsoft Visual Studio 2022*.
  • Automatically detect and alert developers of a debugger version mismatch between host and target system for Intel® Distribution of GDB in Microsoft Visual Studio*.
  • Improved GPU debugging experience by adding a new secure server connection mechanism for Intel® Distribution for GDB*.  

Intel® Integrated Performance Primitives (Intel IPP) 2021.5

  • Added optimizations to Intel® IPP Cryptography's AES-GCM (Advanced Encryption Standard - Galois Counter Mode) for smaller packets size for 3rd Generation Intel® Xeon® Processor Scalable (SPR).
  • Intel® Integrated Performance Primitives image processing added new functionality for CT & MR machine data types by adding the 6s (signed short) data type with 3D resizing. 

Intel® oneAPI Collective Communications Library (oneCCL) 2021.5

  • Intel® oneAPI Collective Communications Library adds productivity enhancements with new event tracking mechanism based on SYCL events and for addition of OFI/verbs provider with Linux dmabuf support directly from the package without needing to build it manually.

Intel® oneAPI Data Analytics Library (oneDAL) 2021.5

  • The new Intel® Extension for Scikit-learn* t-SNE (Stochastic Neighbor Embedding) features enhances the developer's ability to take big high-dimensional data and visualize it on a low dimensional (think 2d/3d) map.
  • Introduced Intel® oneAPI Data Analytics Library distributed support for DPC++ machine learning algorithms including decision forest, DBSCAN, K-means and covariance.

Intel® oneAPI Deep Neural Networks Library (oneDNN) 2021.5

  • Intel® oneAPI Deep Neural Networks Library now allows you to seamlessly take advantage of new Intel® AMX instructions in future Intel® Xeon® Scalable Processor for int8 inference and bfloat16 training AI workloads

Intel® oneAPI Video Processing Library (oneVPL) 2021.7

  • The Intel® oneAPI Video Processing Library (oneVPL) now supports Python 3.7*. 
  • In addition, new features include C++ and Python binding updates that add improved properties, support for AV1 encode temporal layer parameter extensions and an update to the sample tools

Intel® Distribution for Python* 2022.0

  • Intel® Distribution for Python now supports Python version 3.9

  • The dpctl package offers developers increased debugging capabilities with improved error handing and reporting
  • Data Parallel Python technology now provides zero copy data exchange performance across packages

Intel® Advisor 2022.0

  • Intel® Advisor has been updated to include recent versions of 3rd party components, which include functional and security updates.
  • Now provides actionable recommendations to optimize GPU General Purpose Register Files (GRF) and more comprehensive analysis with expanded GPU memory and compute metrics.

Intel® VTune™ Profiler 2022.0

  • Intel® VTune™ Profiler introduces support for Intel® microarchitecture code named Alder Lake in Microarchitecture Exploration and Memory Access analyses.  
  • Profile DirectX applications on the CPU host to identify the gaps between the API calls and the reasons causing such inefficiencies.  
  • Annotate your code and collect arbitrary statistics on FreeBSD OS with little to no overhead, using the Instrumentation and Tracing Technology API (ITT API).

Diagnostics Utility for Intel® oneAPI Toolkits

  • New supported operating systems:
    • SLES* 15 SP3
    • RHEL* 8.3
  • Ability to update compatibility data base from an online storage.
  • User experience improvements were done to reflect the user studies feedback.
  • This utility's sources are available in open source.
  • New implemented checks:
    • The oneapi_env_check shows the version information of the oneAPI products installed in the environment.
    • The dependencies_check verifies compatibility of oneAPI products versions and GPU drivers versions.
    • The debugger_check verifies if the environment is ready to use Intel® Distribution for GDB*.

Visual Studio Code Extensions for Intel® oneAPI Toolkits

  • DevCloud Connector for Intel® oneAPI Toolkits:
    • Selection of the node with desired HW in settings with short description. Connection to this node.
    • Error handling if selected node is unavailable.
    • PBS job created by extension is now named as "vscode".
    • Connection time reduced  to 30 sec (from 45-50 sec).
  • GDB with GPU Debug Support for Intel® oneAPI Toolkits:
    • Offline help page for Intel® Distribution for GDB commands.
    • Quick default debug configuration settings feature.
    • Updates to address user experience issues.
  • Environment Configurator for Intel® oneAPI Toolkits:
    • oneAPI environment initialization in Windows now works without administrator rights.
    • Code Sample Browser for Intel® oneAPI Toolkits.
    • New command palette based method of browsing samples.
    • UI/UX improvement - auto-create new folder for selected sample.
    • UI/UX improvement - updates to settings reflected in real-time.
  • Analysis Configurator for Intel® oneAPI Toolkits:
    • Code completion snippets & hovers for FPGA attributes.
    • Added automatic detection where VTune and Advisor are installed.

Intel® FPGA Add-On for oneAPI Base Toolkit 2022.1 (Optional)

  • The OpenCL runtime environment (part of the DPC++ runtime for FPGAs) is now open-sourced
  • Added support for the Intel® custom platforms with Intel® Quartus® Prime software version 21.3.
  • Intel® FPGA Add-on for oneAPI Base Toolkit now supports "fast, flat BSP compile flow" allowing BSP creators to reduce their BSP size and complexity which leads to easier and quicker floor planning.

Deprecation Notices

  • Microsoft Visual Studio* 2017 integration is deprecated and will be removed in a future release

Installation Instructions

Please visit Installation Guide for Intel oneAPI Toolkits

How to Start Using the Tools

Please reference:

Known Issues, Limitations and Workarounds

  1. Known Issue: Latest GPU driver available at https://dgpu-docs.intel.com/ introduces an Ahead-Of-Time (AOT) build issue for OpenMP offload applications running on Gen9 iGPU when using oneAPI compilers. A fix for this issue will be available in the upcoming driver release. 
    Workaround: For assistance with downgrading to a version of driver which does not have this issue, contact us via Graphics - Intel Communities
  2. Known Issue: GPU offload applications using extensive multi-threading (>2 threads) may experience hangs or time out which can be recovered only though a hard reset or power cycling of the system for the following Linux Distributions. The issue occurs when reading/writing data to the Intel GPU while making extensive use of multi-threading due to a defect in older Linux kernels. 
    Kernel/distribution Problem occurs Problem does not occur
    RedHat Enterprise Linux RHEL 8.4 (kernel 4.18.0-305) and older RHEL 8.5 (kernel 4.18.0-348)
    SUSE Linux SLES15 SP3 and older SLES15 SP4 beta
    Ubuntu Linux Ubuntu releases older than 20.04.03 Ubuntu 20.04.03 (kernel 5.11.0-40-generic #44~20.04.2-ubuntu)*

    Preferred Workaround: Upgrade to a Linux distribution where the defect has been fixed. Note that the software will run, but a warning message will appear in kernel logs.
    GPU software for Ubuntu 20.04.03 is available now via https://dgpu-docs.intel.com. Note that the software will run, but a warning message will appear in kernel logs.
    GPU software for RHEL 8.5. will be available in Q1 2022 at the same location.
    GPU software for SLES15 SP4 will be available shortly after general availability of SLES15 SP4.

    Alternative Workaround: Do not use extensive multi-threading in GPU-enabled applications, i.e. keep the number of threads no more than 2. For example, for applications using the oneAPI MPI library, use the single threaded version of the MPI run-time library, rather than the multi-threaded version. Set the environment variable I_MPI_THREAD_SPLIT=0 to use the single threaded version of MPI.
  3. Known Issue: APT package manager doesn't work for Intel® oneAPI Base Toolkit 2022.1 for Linux* OS while installing on Debian* 9 due to a cmake dependency in VPL.
    Workaround: To workaround this issue it is recommended to install individual components.
  4. Known Issue: After installing the oneAPI Base Toolkit 2022.1, compiling applications with Win32 platform settings that require oneMKL and/or Intel Integrated Performance Primitives will fail.  32-bit Intel® Integrated Performance Primitives (Intel® IPP) on Windows* OS are provided separately as part of Intel® oneAPI Base Toolkit 32-bit package. It can be downloaded here as an add-on.
  5. Known Issue - The compiler and compiler32 Environment Module scripts (aka modulefiles) require version 4.1 or greater of Environment Modules: the compiler and compiler32 modulefiles fail when used with versions 4.0 and 3.x of the Tcl Modulefiles application. These older versions of the Environment Modules application are usually found on older Linux distributions, such as CentOS 7.x. Type module --version to display the version of Environment Modules that is installed on your system.
    Workarounds: If you only need to configure your environment for use with the Intel C++ Compiler classic (aka ICC) you can use the new icc and icc32 modulefiles. If you need to configure your environment for use with the Intel® oneAPI DPC++/C++ Compiler you can source the compiler’s env/vars.sh script. For example, if your oneAPI installation is in the default sudo/root install location: source /opt/intel/oneapi/compiler/latest/env/vars.sh. You can confirm that the environment was configured by checking the value of the $CMPLR_ROOT environment variable. If you have more then one version of the compiler installed and wish to configure your environment to use an earlier version, change the reference to latest to match the name of the folder that corresponds to the compiler version you wish to use. For example: source /opt/intel/oneapi/compiler/2021.3.0/env/vars.sh.
  6. Please read the whitepaper on Challenges, tips, and known issues when debugging heterogenous programs using DPC++ or OpenMP offload 
  7. Limitations
    1. Running any GPU code on a Virtual Machine is not supported at this time.
    2. If you have chosen to download the Get Started Guide to use offline, viewing it in Chrome may cause the text to disappear when the browser window is resized. To fix this problem, resize your browser window again, or use a different browser.
    3. Eclipse* 4.12: the code sample project created by IDE plugin from Makefile will not build. It is a known issue with Eclipse 4.12. Please use Eclipse 4.9, 4.10 or 4.11.
  8. Known issue - Linux repositories serving package managers

  9. Known issue for FPGA and GPU regarding libtinfo.so.5 library - clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

    • When compiling for FPGA or GPU, you might see this error. To work around this issue, you must install the required compatibility library by executing one of the following OS-specific commands:

      • On Ubuntu 20.04: sudo apt install -y libncurses5 libncurses5-dev libncursesw5-dev

      • On RHEL/CentOS 8: sudo yum install ncurses-compat-libs

      • On SUSE 15: sudo zypper install libcurses5 ncurses5-devel

  10. Known issue -  regarding namespace "oneapi" conflicting with older compilers - error: reference to 'tbb' is ambiguous

    • This issue is only found with the following compilers:

      1. GNU* gcc 7.x or older
      2. LLVM* Clang 3.7 or older
      3. Intel® C++ Compiler 19.0 or older
      4. Visual Studio 2017 version 15.6 or older 
    • If your code uses the namespace in the following manner and one of the compilers above, you may get the compilation errors like "error: reference to 'tbb' is ambiguous".

      The "using namespace oneapi;" directive in a oneDPL|oneDNN|oneTBB program code may result in compilation errors with the compilers listed above.

      test_tbb.cpp:

      namespace tbb { int bar(); }
      namespace oneapi { namespace tbb = ::tbb; }
      
      using namespace oneapi;
      int zoo0() { return tbb::bar(); }

      Compiling: .

      test_tbb.cpp: In function 'int zoo0()':
      test_tbb.cpp:5:21: error: reference to 'tbb' is ambiguous
      int zoo0() { return tbb::bar(); }

      Workarounds: 

      Instead of the directive "using namespace oneapi;", please use full qualified names or namespace aliases.

      test_tbb_workaround.cpp: 

      namespace tbb { int bar(); }
      namespace oneapi { namespace tbb = ::tbb; }
      
      // using namespace oneapi;
      int zoo0() { return tbb::bar(); }

      Additional Notes: 

      The "using namespace oneapi;" directive is not recommended right now, as it may result in compilation errors when oneMKL| oneDAL| oneCCL is used with other oneAPI libraries. There're two workarounds:

      • Use the full qualified namespace like above
      • Use namespace alias for oneMKL| oneDAL| oneCCL, e.g.
        • namespace one[mkl|dal|ccl] = ::oneapi::[mkl|dal|ccl];
          onemkl::blas::dgemm( … ); | onedal::train(); | onccl::allgathersv();

           

    •  

  11. Known issue - the installation error on Windows "LoadLibrary failed with error 126: the specified module could not be found" in certain environment only

    • Impacted environment: Windows with AMD graphics card

    • Details: 

      When a Windows system has AMD* graphics cards or AMD Radeon Vega* graphics units, the installer of oneAPI Toolkits may report the error "LoadLibrary failed with error 126: the specified module could not be found". This has been reported and is being investigated. Please use the workaround for this release.
    • Workaround:

      Temporarily  disable the Intel® HD Graphics during the installation of oneAPI Toolkits with the steps below:

      Open the Device Manager > Display Adapters; Right click on the listed display (common is the intel integrated graphics accelerator) and select DISABLE.

  12. Known issue - "Debug Error!" from Microsoft Visual C++ Runtime Library
    • Impacted environment: Windows, "Debug" build only, mixed use of DPC++ & oneAPI libraries (except oneTBB)
    • Details: This error may occur only when the DPC++ program is built in "Debug" configuration and it uses one of the oneAPI libraries that do not have a dynamic debug libraries, e.g. oneVPL; The oneTBB is not impacted by this issue.
    • The error is similar to the following:

      Unable to start program

    • Workaround:
      • Use "Release" configuration to build the program for now.
  13. More limitations on Windows 
    • For users who have Visual Studio* 2017 or 2019 installed, the installation of IDE integrations of oneAPI Base Toolkit is very slow. It may take 30+minutes just for the IDE integrations installation sometimes. Please be extra patient and it will be eventualy installed. 
    • If you encounter a runtime error that "... ... sycl.dll was not found. ... ..." or similar like below

      Unable to start program

      when running your program within Visual Studio, please follow the instructions below to update the project property "Debugging > Environment" in order to run the program:
      • Open the project property "Debugging > Environment" property and click right drop-down & select Edit

        Unable to start program

      • Copy and paste the default PATH environment variable value from lower section to the above section.
        This step is very important because of how Visual Studio 2017 or newer handles the additional directory for the "PATH" environment variable.

        Unable to start program

      • Add any additional directories needed by the program for those dll files to the path like below

        Unable to start program

    • Error when running a code sample program within Visual Studio: unable to start program 'xxx.exe"

      Unable to start program


      Please follow the instructions below for the workaround.
      • Open Tools Options dialog, select Debugging tab, and select the check-box of "Automatically close the console when debugging stops". See the dialog image below for details.

        Unable to start program


Release Notes for All Tools included in Intel® oneAPI Base Toolkit

Previous oneAPI Releases

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

The products described 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.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.