Migrating a Short Vector Math Library (SVML)
Replaceability
Intel Short Vector Math Library (Intel SVML) is an automatic vectorization interface provided by Intel for the compiler. It converts one pair of scalar operations into parallel processing of multiple pairs of vector operations, which is an optimization of scalar operations by the compiler. The Intel SVML interface is not provided for users.
SVML Interface |
MATH Interface |
Description |
|---|---|---|
__svml_sin? __svml_sinf? |
_ZGVnN2v_sin _ZGVnN4v_sinf |
Sine function |
__svml_cos? __svml_cosf? |
_ZGVnN2v_cos _ZGVnN4v_cosf |
Cosine function |
__svml_tan? __svml_tanf? |
_ZGVnN2v_tan _ZGVnN4v_tanf |
Tangent function |
__svml_atan? __svml_atanf? |
_ZGVnN2v_atan _ZGVnN4v_atanf |
Arctangent function |
__svml_atan2? __svml_atan2f? |
_ZGVnN2vv_atan2 _ZGVnN4vv_atan2f |
Arctangent value of src1 or src2 |
__svml_sinh? __svml_sinhf? |
_ZGVnN2v_sinh _ZGVnN4v_sinhf |
Hyperbolic sine function |
__svml_cosh? __svml_coshf? |
_ZGVnN2v_cosh _ZGVnN4v_coshf |
Hyperbolic cosine function |
__svml_tanh? __svml_tanhf? |
_ZGVnN2v_tanh _ZGVnN4v_tanhf |
Hyperbolic tangent function |
__svml_exp? __svml_expf? |
_ZGVnN2v_exp _ZGVnN4v_expf |
Exponential function (base e) |
__svml_exp2? __svml_exp2f? |
_ZGVnN2v_exp2 _ZGVnN4v_exp2f |
Exponential function (base 2) |
__svml_expm1? __svml_expm1f? |
_ZGVnN2v_expm1 _ZGVnN4v_expm1f |
Exponential minus one (base e) |
__svml_log? __svml_logf? |
_ZGVnN2v_log _ZGVnN4v_logf |
Logarithmic function (base e) |
__svml_log10? __svml_log10f? |
_ZGVnN2v_log10 _ZGVnN4v_log10f |
Logarithm function (base 10) |
__svml_log1p? __svml_log1pf? |
_ZGVnN2v_log1p _ZGVnN4v_log1pf |
Logarithmic function (base e) of (1 + x) |
__svml_pow? __svml_powf? |
_ZGVnN2vv_pow _ZGVnN4vv_powf |
Power function |
Using GCC for Compilation
For details about how to enable GCC automatic vectorization, see "Kunpeng Math Library Developer Guide" > "Basic Math Libraries" > "KML_SVML Library Functions" > "Compiler Automatic Vectorization" > "GCC Vectorization" in Kunpeng HPCKit 26.1.RC1 Developer Guide.
Using the BiSheng Compiler for Compilation
For details about how to enable automatic vectorization of the BiSheng Compiler, see "Kunpeng Math Library Developer Guide" > "Basic Math Libraries" > "KML_SVML Library Functions" > "Compiler Automatic Vectorization" > "BiSheng Compiler Vectorization" in Kunpeng HPCKit 26.1.RC1 Developer Guide.