9

I am trying to calculate the exponential function using SIMD. and I found this function : https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_exp_ps&expand=2136

I have already included "immintrin.h" in my code, and also my cpu has a SSE flag. But gcc is complaining that error: β€˜_mm_exp_pd’ was not declared in this scope

How could I check whether SVML instructions is enabled ?

0

1 Answer 1

7

SVML is a proprietary Intel library that works with the Intel compiler (ICC). If you're not using ICC then you'll need to find an equivalent library, e.g. sse_mathfun or avx_mathfun.

UPDATE: Visual C++ 2019 supports Intel SVML for x86/x64 architectures.

4
  • 2
    A search for svml on my system with the Intel OpenCL SDK runtime installed turned up some svml dlls. My guess is that Intel OpenCL uses SVML i.e. you can get SVML for free indrectly through OpenCL. Commented Feb 9, 2017 at 8:25
  • 3
    I would also mention Agner Fog's Library - Vector Class Library (VCL). Commented Feb 18, 2018 at 2:36
  • 1
    Note that VS 2019 includes support for SVML Commented May 5, 2020 at 0:02
  • 3
    There's also a SLEEF library, planned to be used by LLVM. Commented Jun 9, 2020 at 10:26

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.