Introduction
Compiler automatic vectorization converts the operation of processing one pair of scalars at a time into the operation of parallel processing of multiple pairs of vector operations, which can significantly accelerate some program operations with loops. In addition to the preceding interfaces, KML_SVML also provides vectorized interfaces for the compiler. For details, see Table 1. During compilation, you can add different compilation options for different compilers so that the compiler can automatically call the corresponding vectorized interfaces.
SVML Interface |
MATH Interface |
Description |
|---|---|---|
_ZGVnN2v_sin _ZGVnN4v_sinf |
sin sinf |
Sine function |
_ZGVnN2v_cos _ZGVnN4v_cosf |
cos cosf |
Cosine function |
_ZGVnN2v_tan _ZGVnN4v_tanf |
tan tanf |
Tangent function |
_ZGVnN2v_atan _ZGVnN4v_atanf |
atan atanf |
Arc tangent function |
_ZGVnN2vv_atan2 _ZGVnN4vv_atan2f |
atan2 atan2f |
Arc tangent function |
_ZGVnN2v_sinh _ZGVnN4v_sinhf |
sinh sinhf |
Hyperbolic sine function |
_ZGVnN2v_cosh _ZGVnN4v_coshf |
cosh coshf |
Hyperbolic cosine function |
_ZGVnN2v_tanh _ZGVnN4v_tanhf |
tanh tanhf |
Hyperbolic tangent function |
_ZGVnN2v_exp _ZGVnN4v_expf |
exp expf |
Exponential function (base e) |
_ZGVnN2v_exp2 _ZGVnN4v_exp2f |
exp2 exp2f |
Exponential function (base e) |
_ZGVnN2v_expm1 _ZGVnN4v_expm1f |
expm1 expm1f |
Exponential function (base e) |
_ZGVnN2v_log _ZGVnN4v_logf |
log logf |
Logarithmic function (base e) |
_ZGVnN2v_log10 _ZGVnN4v_log10f |
log10 log10f |
Logarithmic function (base 10) |
_ZGVnN2v_log1p _ZGVnN4v_log1pf |
log1p log1pf |
Logarithmic function (base e) |
_ZGVnN2vv_pow _ZGVnN4vv_powf |
pow powf |
Power function |
The preceding interfaces are provided for the compiler. You are not advised to call them directly.