Need help: I get unexpected results using opencl 2.0 atomics on HD5500?


I am trying opencl 2.0 atomics on HD5500, following the


But I find the atomic operations result is not as expected.     The simplified version test is:

kernel void atomics_test(global int *output, volatile global atomic_int*  atomicBuffer, uint iterations, uint offset)
    for (int j = 0; j < MY_INNER_LOOP; j++)

针对“普通级(以上)厨师”的高级计算机概念: 术语(第 1 部分)

开始之前,我想通过下面两篇博客解释一些术语。 如果对这些概念已经有所了解,可以直接跳至下一部分。  我建议所有软件读者参阅其他关于介绍线程的博客。 这个领域存在许多混淆,即使我们软件专业人员也无法避免。

我们首先来了解一下什么是处理器、CPU、内核以及封装。 电视等大众媒体在使用这些术语时通常比较随便。 然后我们介绍线程,尤其是硬件和软件线程之间的区别。 人们通常容易混淆这些不同线程之间的区别,即使计算机编程人员也不例外。

内核? CPU? 封装? 芯片? HUH?

请大家注意下图 CPU 的左侧。 在奔腾® 处理器时代,人们通常将计算机中执行程序指令的组件(即计算机的大脑)称为“CPU” 或‘处理器’。 这两者之间几乎没有区别。 ‘计算机芯片’指上面刻有集成电路的芯片,比如 CPU。 ‘封装’指由塑料和金属制成的外壳,用于包裹和保护芯片不被大量针脚/接口刺穿,同时也是出于美观的考虑。

使用英特尔® 软件开发仿真器的优势


全新的英特尔处理器引入了增强型扩展指令集,以此提升应用的性能或增强其安全性。  英特尔 AVX1 和 AVX21 等扩展指令集主要用于提升性能,而英特尔 SHA2 指令则用于 SHA 加速,从而增强应用的安全性。

如果开发人员希望用这些新指令创建应用,但目前的硬件不支持这些指令该怎么办?  公司如何证明购买新系统来支持新指令的价值,同时确保其应用能够充分利用这些新指令来提升性能?

英特尔® 软件开发仿真器可用于在不支持新指令的系统上执行包含这些指令的应用。

本文将探讨使用 SDE 测试使用新指令的代码所带来的优势。

  • Developers
  • Professors
  • Students
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8.x
  • Server
  • Windows*
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • software developer emulator
  • sde
  • server
  • windows
  • Linux
  • Intel Processor
  • Programming
  • Academic
  • Debugging
  • Development Tools
  • Intel® Core™ Processors
  • Open Source
  • Threading
  • OpenMP spinning time


    I am using a simple Merge Sort benchmark on the Xeon Phi. 78% of the total CPU time is consumed by ""

    I tried to reduce the watsed time by the OpenMP runtime library by setting the "export KMP_BLOCKTIME=0". Please note that the application is running natively on the MIC. I have also tried "export OMP_WAIT_POLICY=passive". No effect!

    Why this does not have any effect on the execution time or the wasted CPU time?

    Thank you.

    Run a function on mic0 and mic1 concurrently (OpenMP)


    I am implementing openMP offload program currently running on single Phi device.
    My computing node has 2 Phi devices named mic0 and mic1.
    Could you please let me know how I can extend the following code section to run on both devices simultaneously.

    Assume the code sections can be run independently to each other where all data (input and output) are independent.
    I need to know the structure of code and the directives to do it properly in openMP. Further, compilation method also required.

    Subscribe to Professors