search for: svml

Displaying 20 results from an estimated 40 matches for "svml".

Did you mean: svm
2016 Jul 15
3
RFC: SIMD math-function library
Is it possible to see the source code of the open-sourced SVML? The diff file does not include the library. I searched the Internet but I could not find. Regards, Naoki Shibata On 2016/07/15 13:55, Tian, Xinmin wrote: > Naoki, > > Intel is planning open-source SVML library (most of them if it not 100%), 6 functions of SVML are open sourced for G...
2016 Jul 15
3
RFC: SIMD math-function library
Hi all, Okay, the point is whether Intel will publish the source code for their SVML. If Intel will make SVML open-source, there would be not much advantage in incorporating SLEEF into LLVM, since it would be also fairly easy to port SVML to other architectures. If Intel will not open-source SVML, then there could be advantage in using SLEEF for x86 by inlining the functions....
2016 Jul 27
5
RFC: SIMD math-function library
...vm-dev at lists.llvm.org, "Chandler Carruth" <chandlerc at gmail.com>, "Matt Masten" <matt.masten at intel.com> > Sent: Thursday, July 14, 2016 11:55:24 PM > Subject: RE: RFC: SIMD math-function library > > Naoki, > > Intel is planning open-source SVML library (most of them if it not > 100%), 6 functions of SVML are open sourced for GCC and LLVM > already. But, Intel SVML is x86 centric (SSE2, SSSE3, SSE4.1, > SSE4.2, AVX, AVX2 ....}. Personally, I am not sure if it would be > fairly easy to port SVML to other architectures. SVML lib...
2018 Jun 29
2
[RFC][VECLIB] how should we legalize VECLIB calls?
Illustrative Example: clang -fveclib=SVML -O3 svml.c -mavx #include <math.h> void foo(double *a, int N){ int i; #pragma clang loop vectorize_width(8) for (i=0;i<N;i++){ a[i] = sin(i); } } Currently, this results in a call to <8 x double> __svml_sin8(<8 x double>) after the vectorizer. This is 8-element SVML...
2016 Sep 27
3
RFC: SIMD math-function library
...t; <chandlerc at gmail.com>, "Matt Masten" <matt.masten at intel.com> >> > Sent: Thursday, July 14, 2016 11:55:24 PM >> > Subject: RE: RFC: SIMD math-function library >> > >> > Naoki, >> > >> > Intel is planning open-source SVML library (most of them if it not >> > 100%), 6 functions of SVML are open sourced for GCC and LLVM >> > already. But, Intel SVML is x86 centric (SSE2, SSSE3, SSE4.1, >> > SSE4.2, AVX, AVX2 ....}. Personally, I am not sure if it would be >> > fairly easy to port S...
2018 Jun 29
2
[RFC][VECLIB] how should we legalize VECLIB calls?
Ashutosh, Thanks for the repy. Related earlier topic on this appears in the review of the SVML patch (@mmasten). Adding few names from there. https://reviews.llvm.org/D19544 There, I see Hal's review comment "let's start only with the directly-legal calls". Apparently, what we have right now in the trunk is "not legal enough". I'll work on the patch to stop bl...
2016 Apr 01
2
RFC: A proposal for vectorizing loops with calls to math functions using SVML
RFC: A proposal for vectorizing loops with calls to math functions using SVML (short vector math library). ========= Overview ========= Very simply, SVML (Intel short vector math library) functions are vector variants of scalar math functions that take vector arguments, apply an operation to each element, and store the result in a vector register. These vector variants can...
2016 Apr 04
2
RFC: A proposal for vectorizing loops with calls to math functions using SVML
...g the loop pragma. Those include sin, cos, exp, log, and pow. From: Sanjay Patel [mailto:spatel at rotateright.com] Sent: Monday, April 04, 2016 10:57 AM To: Masten, Matt Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] RFC: A proposal for vectorizing loops with calls to math functions using SVML Hi Matt - Are you using the same TLI hook as Darwin's Accelerate framework: addVectorizableFunctionsFromVecLib()? If not, why not? On Thu, Mar 31, 2016 at 6:20 PM, Masten, Matt via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: RFC: A proposal for...
2020 Sep 01
2
Vectorization of math function failed?
I've tried to do: clang++ -O3 -march=native -mtune=native \ -Rpass=loop-vectorize,slp-vectorize -Rpass-missed=loop-vectorize,slp-vectorize -Rpass-analysis=loop-vectorize,slp-vectorize \ -ffast-math -ffp-model=fast -ffp-exception-behavior=ignore -ffp-contract=fast \ -c -o vec.o vec.cc But I've got no feedback. -- Alexandre Bique
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...ith glibc (version > 2.22). reference: https://sourceware.org/glibc/wiki/libmvec Using the example case given in the reference, we found there are 2 vector versions for "sin" (4 X double) with same VF namely _ZGVcN4v_sin (avx) version and _ZGVdN4v_sin (avx2) versions. Following the SVML path adding new entry in VecDesc structure in TargetLibraryInfo.cpp, we can generate the vector version. But unable to decide which version to expand in the vectorizer. We needed the TTI information (ISA ). It looks like better to legalize or generate them later. regards, Venkat. On 30 June...
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...n Mon, Jul 2, 2018 at 11:52 AM, Saito, Hideki <hideki.saito at intel.com> wrote: > > > Venkat, we did not invent LLVM’s VecLib functionality. The original > version of D19544 (https://reviews.llvm.org/D19544?id=55036) was indeed a > separate pass to convert widened math lib to SVML. > > Our preference for “vectorized sin()” is just widened sin(), that is to be > lowered to a specific library call at a later point (either as IR to IR or > in CodeGen). Matt tried to sell that idea and it didn’t go through. > > Anyone else willing to work with us to try it agai...
2018 Jul 02
8
[RFC][VECLIB] how should we legalize VECLIB calls?
...gt; <mailto:hideki.saito at intel.com>> wrote: > >   > > Venkat, we did not invent LLVM’s VecLib functionality. The > original version of D19544 > (https://reviews.llvm.org/D19544?id=55036) was indeed a separate > pass to convert widened math lib to SVML. > > Our preference for “vectorized sin()” is just widened sin(), that > is to be lowered to a specific library call at a later point > (either as IR to IR or in CodeGen). Matt tried to sell that idea > and it didn’t go through. > > Anyone else willing to wo...
2016 Jul 13
7
RFC: SIMD math-function library
Dear LLVM contributors, I am Naoki Shibata, an associate professor at Nara Institute of Science and Technology. I and Hal Finkel would like to jointly propose to add my vectorized math library to LLVM. The library has been available as public domain software for years, I am going to double-license the library if necessary. ******** Below is a proposal to add my vectorized math library,
2016 Mar 02
2
Proposal for function vectorization and loop vectorization with function calls
...There are several options we can optimize to reduce the # of version we need to generate w.r.t compile-time and code-size. We can provide detailed info. >>>>> Loop Vectorizer already supports math functions and math functions libraries. You might need just to expand this support to SVML (i.e. add tables of correspondence between scalar and vector function variants). Correct, that is the Step 3 in the doc we are working on. >>>>> Again, thanks for writing it up. I think this would be a valuable improvement of the vectorizer and I'm looking forward to further d...
2017 Dec 06
5
[LV][VPlan] Status Update on VPlan ----- where we are currently, and what's ahead of us
...aller side and callee side) https://reviews.llvm.org/D22792 (M. Masten, Converting Function Vectorization to Loop Vectorization) https://reviews.llvm.org/D40575 (M. Masten, Caller side support for invoking vector function from vector loop) Related work of related work. Math lib vectorization using SVML. http://lists.llvm.org/pipermail/llvm-dev/2016-March/097862.html (M. Masten, RFC for vector math lib call using Intel SVML) https://reviews.llvm.org/D19544 (M. Masten, vector math lib call using Intel SVML)   Summary: -------- Summary of the current state of VPlan infrastructure project is presente...
2016 Mar 02
4
Proposal for function vectorization and loop vectorization with function calls
...vector lanes. The LLVM LoopVectorizer will vectorize the generated %t loop, expected to produce the following vectorized code eliminating the loop (pseudo code): define __stdcall <4 x f32> @_ZGVbN4ul_dowork(f32* %a, i32 %k) #0 { vec_load xmm1, %a[k: VL] xmm2 = call __svml_sinf(xmm1) xmm0 = vec_add xmm2, [9,8f, 9.8f, 9.8f, 9.8f] store %a[k:VL], xmm0 return xmm0; } [[Note: Vectorizer support for the Short Vector Math Library (SVML) functions will be a seperate proposal. ]] 3. The LLVM LoopVectorizer is enhanced to a) identify loop...
2018 Jul 04
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...i.saito at intel.com>; > Sanjay Patel <spatel at rotateright.com>; mzolotukhin at apple.com > Cc: dccitaliano at gmail.com; Masten, Matt <matt.masten at intel.com> > Subject: RE: [llvm-dev] [RFC][VECLIB] how should we legalize VECLIB calls? > > Hi Hal, > > > __svml_sin8 (plus whatever shuffles are necessary). > > The vectorizer should do this. > > It should not generate calls to functions that don't exist. > > I'm not sure how vectorizer will do this, consider the case where > "-vectorizer-maximize-bandwidth" option is e...
2016 Sep 16
2
RFC: module flag for hosted mode
...ent, but related: I'm also wondering if this logic could/should be used to encode other TLI flags, such as -fveclib=<lib>. I.e., if one translation unit has -fveclib=Accelerate, does that imply that we can use that for the entire linkage unit? If there's a conflict, such as -fveclib=SVML in one and -fveclib=Accelerate in another, can we safely pick the first one arbitrarily?) >> One question that arises is how to handle old modules which were compiled in hosted mode and lack the hosted module flag. With the above scheme, LTO would run in freestanding mode if there are no con...
2018 Nov 30
2
[RFC] Re-implementing -fveclib with OpenMP
Hi all, I am submitting the following RFC [1] to re-implement -fveclib via OpenMP constructs. The RFC was discussed during a round table at the last LLVM developer meeting, and presented during the BoF [2]. The proposal is published on Phabricator, for the purpose of keeping track of the comments, and it now ready for a review from a wider audience after being polished by Hal Finkel and Hideki
2016 Sep 21
2
RFC: module flag for hosted mode
...ring if this logic could/should be >> used to encode other TLI flags, such as -fveclib=<lib>. I.e., if one >> translation unit has -fveclib=Accelerate, does that imply that we can use >> that for the entire linkage unit? If there's a conflict, such as >> -fveclib=SVML in one and -fveclib=Accelerate in another, can we safely pick >> the first one arbitrarily?) >> >> >> One question that arises is how to handle old modules which were >> compiled in hosted mode and lack the hosted module flag. With the above >> scheme, LTO would...