在Kirin 650上的OpenMP

时间:2017-03-07 15:35:08

标签: arm openmp

基本上,麒麟650 ARM核心是华为荣耀5c手机中的核心。我试图直接在我拥有的root电话上填充C ++代码。此代码正在执行Neon指令并具有OpenMP并行化。当我在手机上执行OpenMP功能时,它会返回:

Num Procs = 8
Num Threads = 1
Max Threads = 8
Num Devices = 0
Default Device = 0
Is Initial Device = 1

这些信息似乎是连贯的,因为麒麟650有8个核心。然而,在手机技术细节中还指出,麒麟可以拥有4核高达1.7GHz(节能核心)和4核高达2GHz(性能核心)。

OpenMP如何处理这些因为我理解它们是异步的?使用我的基准测试,当我针对No OpenMPOpenMP - 2 threads测试OpenMP - 4 threads时,我会看到加速,但我的OpenMP - 8 threads结果是灾难。

这些内核是否共享相同的时钟(我使用Hayai库中的clock_gettime指令来处理所有内容)?在这些平台上使用OpenMP执行操作时,您有什么建议吗?

0 个答案:

没有答案