ARM si è dovuta muovere in prima persona per rendere fruibili in maniera estesa le SIMD NEON, introdotte da diversi anni eppure solo limitatamente o male utilizzate. Per fare un esempio, su GNU/Linux il compilatore GCC ha le SIMD NEON @64Bit disabilitate di default: “Use of Advanced SIMD (Neon) for 64-bit scalar computations has been disabled by default. This was found to generate better code in only a small number of cases. It can be turned back on with the -mneon-for-64bits option”.

 

 

Poiché il successo di ARM nei mercato professionali (Workstation, Server, ecc) si basa sullo sfruttamento delle più avanzate funzioni integrate, la holding inglese si sta muovendo per diminuire il gap con x86 il più velocemente possibile. Ufficialmente ARMh afferma che tale mossa si è resa necessaria per migliorare le prestazioni dei SoC ARM nel mercato Mobile, ma è solamente il primo passo verso un più proficuo utilizzo degli stessi SoC in altri mercati: “Today ARM® announced OpenCL™ for ARM NEON™ technology. This enables the use of the OpenCL framework on ARM Cortex®-A processors. Alongside the already supported ARM Mali™ GPUs, OpenCL for NEON now enables heterogeneous multiprocessing on any Cortex-A based device. Heterogeneous multiprocessing enables compute-intensive workloads to be tasked to the most appropriate CPU or GPU resource improving both end-user experience and battery life”.

L'utilizzo di Open CL con le SIMD NEON è ora possibile in combinazione con questi Core (Ricordiamo, infatti, che le SIMD NEON sono opzionali):

  • Cortex-A7
  • Cortex-A8
  • Cortex-A9
  • Cortex-A12
  • Cortex-A15
  • Cortex-A17
  • Cortex-A53
  • Cortex-A57
  • “Artemis” (In fase di sviluppo)
  • “Maya” (In fase di sviluppo)