Intel® Array Building Blocks Known Issues and Limitations

The following are known issues in Intel® Array Building Blocks (Intel® ArBB) beta releases. Some issues span multiple architectures and/or operating systems and some relate only to a single architecture or operating system.

Intel® Array Building Blocks 1.0 Beta 6

  • Rarely, building the sample code using Microsoft* Visual Studio* 2005 with the default configuration (debug | 32-bit) causes the IDE to crash.
  • Error "Can't find MSVSR90.dll" if the Intel® ArBB software is installed on a virtual (mapped) drive. (How to resolve)

Intel® Array Building Blocks 1.0 Beta 5

    • Intel® ArBB has known performance issues with AVX256. While these issues being worked on, Intel ArBB Beta 5 by default generates AVX128 instructions rather than AVX256 instructions on Sandy Bridge.
    • There are known issues when the O3 mode is enabled for ArBB in threaded applications. Users are advised to set the O2 mode when using ArBB in threaded applications.
    • Error "Can't find MSVSR90.dll" if the Intel® ArBB software is installed on a virtual (mapped) drive. (How to resolve)
    • Intel® ArBB variables is not displayed correctly in Microsoft* Visual Studio* debugger if code is built with CLR support. (How to resolve)

    Intel® Array Building Blocks 1.0 Beta 4


    Core API and Types

    • ARBB_INIT_HEAP and ARBB_MAX_HEAP do not process problem sizes exceeding 1GB in memory.
    • For simple cases, map operations are faster than vector operation for functionally identical implementations in O3 mode.
    • Induction variables within _for loops cannot be named ‘c’ due to name clash.
    • Operator arbb::neighbor() is not working correctly for 2D dense bound to C/C++ arrays in O2 mode.

    Intel® Array Building Blocks 1.0 Beta 3


    Binary Compatibility

    • Intel ArBB Beta 3 and previous beta releases are binary incompatible. Code compiled using the previous beta SDK will not run in the Beta 3 environment. Code must be recompiled using the Beta 3 SDK.

    Installation and Configuration

    • The User Account Control (UAC) of Windows* OS may prevent non-Administrator users from building sample programs installed in protected folders (for example, C:\Program Files\ and its sub-folders). The workaround is to disable UAC or install sample programs in an unprotected folder.
    • Incompatible versions of tbb.dll and tbb_debug.dll between Intel ArBB and Intel® C++ Compiler for users who have both products installed on Windows* OS. (How to resolve)
    • Installing or uninstalling Microsoft* Visual C++* Debugger Integration fails if system protection for the user is not turned off on Windows* OS. (How to resolve)
    • Silent installation on Linux* OS crashes with segmentation fault.

    Core API and Types

    • The emulation mode (ARBB_OPT_LEVEL=O0) sometimes leads to "out of heap" exceptions for big data sets.
    • The behavior of the O1 mode (ARBB_OPT_LEVEL=O1) is not defined. Using O1 or any other unsupported value in this release leads to runtime crash.
    • Setting ARBB_OPT_LEVEL to anything other than O0, O2, and O3 leads to a runtime crash.

    Debugging Support

    • Debugging support only works for the emulation mode. That is, the Intel ArBB optimization level must be set to O0 using the environment variable ARBB_OPT_LEVEL. Programs with big input size may run very slow or even crash in this mode.
    For more complete information about compiler optimizations, see our Optimization Notice.