Multithread development

如何在offload程序中控制协处理器的执行环境

offload编译模式下Intel编译器的offload运行时系统提供了两种机制让主机CPU程序对协处理器上的执行环境进行控制:

  1. 在主机系统上设置环境变量,然后将这些环境变量传递到协处理器上
  2. 在主机程序中调用相应的运行环境控制函数

 

环境变量:

缺省情况下,当offload发生时运行时系统会把主机程序执行环境中的所有环境变量全部复制到协处理器的执行环境中。用户可以通过定义环境变量“MIC_ENV_PREFIX”的值来改变这一默认行为。当该环境变量被赋予某个特定值之后,offload运行时系统将不再复制全部主机环境变量,而改为只复制那些以“MIC_ENV_PREFIX”的值加上下划线为前缀的那些环境变量;而且,在协处理器执行环境中对应的环境变量将不会保留这些前缀。通过这种方式,用户就可以在主机系统和协处理器上对同一名字的环境变量使用不同的值。例如在主机系统中已如下方式设置环境变量:

 

MIC_ENV_PREFIX=ABC

OMP_NUM_THREADS=8

  • Developers
  • Students
  • Linux*
  • C/C++
  • Fortran
  • Intermediate
  • Intel® Composer XE
  • Intel Parallel Composer XE
  • Development Tools
  • Parallel Computing
  • Using Intel® Advisor XE to Observe Memory Accesses Dynamically

    Intel® Advisor XE is the premiere tool from Intel for helping to parallelize your code, but it can also be used in other ways. For example, you can take advantage of the Intel Advisor XE special annotation ANNOTATE_OBSERVE_USES to track all memory accesses to a particular variable.

     

    Assume you have a source file, foo.cpp, that contains an allocation point like:

    int * pArray = new int[size];

     

    You want to detect all accesses to the pArray elements that happen within the scope of a function bar()where bar() is invoked from bar.cpp.

  • Developers
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • C/C++
  • Fortran
  • Intel® Advisor XE
  • Featured Product Support
  • Featured Support Topics
  • Debugging
  • Parallel Computing
  • Threading
  • Intel Software Conference 2014

     A Intel Software Brasil realizou neste mês o Intel Software Conference 2014, que aconteceu na Universidade Estácio de Sá (Rio de Janeiro) nos dias 26 e 27 de Maio e no IMAM (São Paulo) nos dias 28,29 e 30 de Maio.

    Foram realizadas palestras e "round tables" ministradas por profissionais da Intel do Brasil, Estados Unidos e Alemanha cobrindo dois temas: Computação Paralela e de Alto Desempenho nos primeiros quatro dias (RJ e SP) e Desenvolvimento Android no último dia (somente em São Paulo).  

    Confira logo abaixo os slides das apresentações realizadas.

  • Developers
  • Partners
  • Professors
  • Students
  • Android*
  • Linux*
  • Server
  • C#
  • C/C++
  • Fortran
  • Advanced
  • Intermediate
  • Intel® Parallel Studio XE
  • Intel® Advanced Vector Extensions
  • Intel® Streaming SIMD Extensions
  • Message Passing Interface
  • OpenCL*
  • OpenMP*
  • Optimization
  • Parallel Computing
  • Vectorization
  • How to use Intel Cilk Plus extension, to speed up your Android application with threading features

    Intel Cilk Plus is an important language extension of Intel Compiler, to help you implement multiple-threading easily and fast, to improve your application's performance on multi-core systems. While more and more cores on Android devices, it is also more important to efficiently use the multi-core features.
  • Developers
  • Professors
  • Students
  • Android*
  • Android*
  • C/C++
  • Intermediate
  • Intel® INDE
  • Intel® C++ Compiler
  • Intel® Parallel Studio XE
  • Intel® System Studio
  • VersionSpecific
  • PlatformSpecific
  • Development Tools
  • License Agreement: 

    Controlling floating-point modes when using Intel® Threading Building Blocks

    Intel® Threading Building Blocks (Intel® TBB) 4.2 Update 4 introduced enhanced support for managing floating-pointing settings. Floating-point settings can now be specified at the invocation of most parallel algorithms (including flow::graph). In this blog I want to pay attention to some peculiarities and details of the new feature and overall floating-point settings support in Intel TBB. This blog is not devoted to general floating-point support in the CPU.

  • Developers
  • Intel AppUp® Developers
  • Partners
  • Professors
  • Students
  • Android*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • Unix*
  • Android*
  • Server
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Intel® Threading Building Blocks
  • tbb
  • floating-point
  • fp
  • FPU
  • floating-point settings
  • FP settings
  • FPU settings
  • FPU controls
  • CPU settings
  • CPU controls
  • Development Tools
  • Education
  • Open Source
  • Parallel Computing
  • Threading
  • 如何使用Intel Cilk Plus扩展,加速你的Android程序的多核性能

    Intel Cilk Plus是英特尔编译器的一个语法扩展特性,用于快速简单的实现多线程,从而提升应用程序在多核系统上的性能。随着Android系统的核心越来越多,合理的利用其多核心的特性也显得越来越重要。
  • Developers
  • Professors
  • Students
  • Android*
  • Android*
  • C/C++
  • Intermediate
  • Intel® INDE
  • Intel® C++ Compiler
  • Intel® System Studio
  • Development Tools
  • A Parallel Stable Sort Using C++11 for TBB, Cilk Plus, and OpenMP

    This article describes a parallel merge sort code, and why it is more scalable than parallel quicksort or parallel samplesort. The code relies on the C++11 “move” semantics. It also points out a scalability trap to watch out for with C++. The attached code has implementations in Intel® Threading Building Blocks (Intel® TBB), Intel® Cilk™ Plus, and OpenMP*.

  • Developers
  • Professors
  • Students
  • C/C++
  • Intermediate
  • Intel® Cilk™ Plus
  • Intel® Threading Building Blocks
  • parallel
  • Merge Sort
  • Cilk Plus
  • tbb
  • openmp
  • OpenMP*
  • Parallel Computing
  • Subscribe to Multithread development