---
title: NEON lib库应用加速
description: "利用现有的一些基于NEON技术开发的典型lib，进行功能模块接口调用，达到应用程序加速目的。使开发者在获得最大效益的同时，而不必使用繁琐的NEON汇编或NEON Intrinsic函数进行编码加速。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0071.html
sourcePath: /source/zh/perftuning/tuningtip/kunpengtuning_12_0071.html
indexId: 3ed60e57124cf4c9363e4ecc021ecfd778c3f18a8f6bb1f5be3651480c5b32dc58
---
# NEON lib库应用加速

#### 原理

利用现有的一些基于NEON技术开发的典型lib，进行功能模块接口调用，达到应用程序加速目的。使开发者在获得最大效益的同时，而不必使用繁琐的NEON汇编或NEON Intrinsic函数进行编码加速。


#### 修改方式

- ARM Compute Library（ACL）
  ARM Compute Library是ARM公司发布的开源工程，旨在为图像/视频/多媒体/计算机视觉等领域的开发者提供ARM平台的硬件加速库。这个库中分别用OpenCL与NEON的方式实现了一些上述领域的基本算法，OpenCL主要是ARM的Mali GPU加速，NEON是针对ARM的A系列CPU。该Lib库包含基础数学矩阵运算、图像处理基本运算、基础机器学习算法等功能模块。

  参考链接：https://developer.arm.com/technologies/compute-library(https://developer.arm.com/technologies/compute-library)

  GitHub地址: https://github.com/ARM-software/ComputeLibrary(https://github.com/ARM-software/ComputeLibrary)


- Ne10
  Ne10是一个开源的C库，基于C接口的NEON汇编实现，由ARM托管在github上，包含一组最常见的处理密集型函数，这些函数基于ARM做了大量优化。Ne10采用的是模块化结构，由几个较小的库组成。主要包含以下领域：Math functions、Signal processing functions、Image processing functions、Physics functions，参考链接：https://github.com/projectNe10/Ne10(https://github.com/projectNe10/Ne10)。


- Libyuv
  libyuv是Google开源的实现各种YUV与RGB格式图像之间相互转换、图像旋转、缩放的基础库，其也是基于SIMD指令集进行开发的。

  参考链接：https://chromium.googlesource.com/libyuv/libyuv(https://chromium.googlesource.com/libyuv/libyuv)


- Skia
  Skia是一个开源2D图形库，用于谷歌Chrome和Chrome OS、Android、Mozilla Firefox和Firefox OS以及许多其他产品的图形引擎。

  参考链接：https://github.com/google/skia(https://github.com/google/skia)
