---
title: 介绍
description: "编译器的自动向量化（automatic vectorization）将一次处理一对标量运算转换为一次并行处理多对向量运算，可以显著加速一些带有循环的程序运算。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0285.html
sourcePath: /source/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0285.html
indexId: bcee3c0502cca1fa747ad85b3bd58f72c482cafbbb5f87db5ed197d089dd4ef176
---
# 介绍

编译器的自动向量化（automatic vectorization）将一次处理一对标量运算转换为一次并行处理多对向量运算，可以显著加速一些带有循环的程序运算。

除了上述接口外，KML_SVML同时为编译器提供了向量化接口，见表1 编译器向量化接口。在编译过程中针对不同的编译器添加对应的编译选项可以使编译器自动调用对应的向量化接口，请参见GCC向量化方法和毕昇编译器向量化方法。


**表1 编译器向量化接口**

| SVML接口 | MATH接口 | 描述 |
| --- | --- | --- |
| \_ZGVnN2v\_sin \_ZGVnN4v\_sinf | sin sinf | 正弦函数 |
| \_ZGVnN2v\_cos \_ZGVnN4v\_cosf | cos cosf | 余弦函数 |
| \_ZGVnN2v\_tan \_ZGVnN4v\_tanf | tan tanf | 正切函数 |
| \_ZGVnN2v\_atan \_ZGVnN4v\_atanf | atan atanf | 反正切函数 |
| \_ZGVnN2vv\_atan2 \_ZGVnN4vv\_atan2f | atan2 atan2f | 反正切函数 |
| \_ZGVnN2v\_sinh \_ZGVnN4v\_sinhf | sinh sinhf | 双曲正弦函数 |
| \_ZGVnN2v\_cosh \_ZGVnN4v\_coshf | cosh coshf | 双曲余弦函数 |
| \_ZGVnN2v\_tanh \_ZGVnN4v\_tanhf | tanh tanhf | 双曲正切函数 |
| \_ZGVnN2v\_exp \_ZGVnN4v\_expf | exp expf | 指数函数（base e） |
| \_ZGVnN2v\_exp2 \_ZGVnN4v\_exp2f | exp2 exp2f | 指数函数（base e） |
| \_ZGVnN2v\_expm1 \_ZGVnN4v\_expm1f | expm1 expm1f | 指数函数（base e） |
| \_ZGVnN2v\_log \_ZGVnN4v\_logf | log logf | 对数函数（base e） |
| \_ZGVnN2v\_log10 \_ZGVnN4v\_log10f | log10 log10f | 对数函数（base 10） |
| \_ZGVnN2v\_log1p \_ZGVnN4v\_log1pf | log1p log1pf | 对数函数（base e） |
| \_ZGVnN2vv\_pow \_ZGVnN4vv\_powf | pow powf | 幂函数 |


以上接口为提供给编译器调用的接口，不推荐用户直接调用。
