URL

Expectations for User Source Code Changes

Overview

Although most codes can run in the Intel® Many Integrated Core Architecture (Intel® MIC Architecture) with little to no changes, to run EFFICIENTLY may require changes in user source code. This chapter examines algorithmic some general topic related to user source code changes that can enable applications to get optimal efficiency.

  • Developers
  • Linux*
  • C/C++
  • Fortran
  • Advanced
  • Intel® C++ Compiler
  • Intel® Fortran Compiler
  • Intel Many Integrated Core
  • Optimization
  • Vectorization
  • 内存分配和首次访问

    面向英特尔® MIC 架构的编译器方法

    内存分配和首次访问

    相对至强而言,协处理器的内存分配成本较高——因此尽可能重复使用已非配的内存是非常明智的。例如,如果某函数被重复调用(假设在循环内),并且该函数使用数组作为临时存储,尝试初次分配足够大的数组(所需的最大大小),并在后续调用中重复使用该数组:

    static real *temp_array=0;

     

  • Developers
  • Linux*
  • C/C++
  • Fortran
  • Advanced
  • Intel® C++ Compiler
  • Intel® Fortran Compiler
  • Intel® Many Integrated Core Architecture
  • Optimization
  • Parallel Computing
  • Vectorization
  • Intro to Motion Estimation Extension for OpenCL*

    Download Article

    Download Intro to Motion Estimation Extension for OpenCL* [PDF 660KB]

    This article introduces Intel’s motion estimation extension for OpenCL*. This extension includes a set of host-callable functions for frame-based Video Motion Estimation (VME).

    This extension depends on the OpenCL 1.2 notion of the built-in kernels and on the cl_intel_accelerator vendor extension, which provide an abstraction for the specific hardware-accelerated capabilities.

  • Developers
  • Intermediate
  • Intel® SDK for OpenCL™ Applications
  • OpenCL*
  • Video Motion Estimation
  • Motion Vectors
  • applications
  • OpenCL*
  • Development Tools
  • Game Development
  • Graphics
  • User Experience and Design
  • What's New? Intel® Threading Building Blocks 4.2 update 2

    Changes (w.r.t. Intel TBB 4.2 Update 1):
    • Enable C++11 features available in Microsoft* Visual Studio* 2013 Preview.
    • Added test for compatibility of TBB containers with C++11 range-based for loop.
    Changes affecting backward compatibility:
    • Internal layout changed for class limiter_node.
    Bugs fixed:
    • When building for Intel(R) Xeon Phi(tm) coprocessor, TBB programs no longer require explicit linking with librt and libpthread.
  • Developers
  • C/C++
  • Intel® Threading Building Blocks
  • icpc error: namespace "std" has no member "function" or "bind" or other

    Affects OS X and some older Linux distributions

    Error message is seen when compiling C++11 C++ applications using std::function. 

    Root cause:  stdlib headers and libraries used by ICPC come from the system supplied gnu gcc/g++ by default.  Thus the system g++ must be fairly modern and support std::function.  Older gcc versions such as those found on OS X and some older Linux distributions do not have full support for all new C++11 std:: namespace functions.  You will see an error such as this:

  • Developers
  • Professors
  • Students
  • Apple OS X*
  • Linux*
  • C/C++
  • C++11 -stdlib -std=c++11
  • Subscribe to URL