Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] SIMD trigonometry/logarithms?"
2013 Jan 27
4
[LLVMdev] SIMD trigonometry/logarithms?
I'm wondering if it makes sense to instead supply a bc math library. I
would think it would be easier to maintain and debug, and should still give
you all of the benefits. You could just link with it early in the
optimization pipeline to ensure inlining. This may also make it easier to
maintain SIMD functions for multiple backends.
On Sun, Jan 27, 2013 at 8:49 AM, Hal Finkel <hfinkel
2013 Jan 27
0
[LLVMdev] SIMD trigonometry/logarithms?
----- Original Message -----
> From: "Dimitri Tcaciuc" <dtcaciuc at gmail.com>
> To: llvmdev at cs.uiuc.edu
> Sent: Sunday, January 27, 2013 3:42:42 AM
> Subject: [LLVMdev] SIMD trigonometry/logarithms?
>
>
>
> Hi everyone,
>
>
> I was looking at loop vectorizer code and wondered if there was any
> current or planned effort to introduce SIMD
2013 Jan 27
0
[LLVMdev] SIMD trigonometry/logarithms?
Hi Justin,
I think having .bc math libraries for different backends makes perfect
sense! For example, in case of NVPTX backend we have the following problem:
many math functions that are only available as CUDA C++ headers could not
be easily used in, for instance, GPU program written in Fortran. On our end
we are currently doing exactly what you proposed: generating math.bc module
and then link
2013 Jan 27
3
[LLVMdev] SIMD trigonometry/logarithms?
----- Original Message -----
> From: "Dmitry Mikushin" <dmitry at kernelgen.org>
> To: "Justin Holewinski" <justin.holewinski at gmail.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Sunday, January 27, 2013 10:19:42 AM
> Subject: Re: [LLVMdev] SIMD
2013 Jan 28
1
[LLVMdev] SIMD trigonometry/logarithms?
On 28/01/2013 12:49 AM, Hal Finkel wrote:
> Ralf Karrenberg had implemented some of these as part of his
> whole-function vectorization project:
> https://github.com/karrenberg/wfv/blob/master/src/utils/nativeSSEMathFunctions.hpp
> https://github.com/karrenberg/wfv/blob/master/src/utils/nativeAVXMathFunctions.hpp
> Opinions on pulling these into the X86 backend? -Hal
I've
2013 Jan 28
1
[LLVMdev] SIMD trigonometry/logarithms?
First let me say that I really like the notion of being able to plug in .bc libraries into the compiler and I think that there are many potential uses (i.e. vector saturation operations and the like). But even so it is important to realize the limitations of this approach.
Generally implementations of transcendental functions require platform specific optimizations to get the best performance and
2013 Feb 14
0
[LLVMdev] SIMD trigonometry/logarithms?
Hi all.
In fact, this is how we have implemented it in our compiler (intel's OpenCL).
We have created a .bc file for every architecture. Each file contains all the SIMD versions for the functions to be vectorized.
To cope with the massive amount of code to be produced, we implemented a dedicated tblgen BE for that purpose.
We are willing to share that code with the llvm community, in case this
2013 Feb 14
1
[LLVMdev] SIMD trigonometry/logarithms?
----- Original Message -----
> From: "Elior Malul" <elior.malul at intel.com>
> To: "Michael Gottesman" <mgottesman at apple.com>, "Hal Finkel" <hfinkel at anl.gov>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Thursday, February 14, 2013 8:33:42 AM
> Subject: RE: [LLVMdev] SIMD
2013 Feb 14
0
[LLVMdev] SIMD trigonometry/logarithms?
FWIW, llvmpipe has C-binding code that generates (inlines) log/exp/pow/sin/cos functions of the fly, for an arbitrary number of elements (in most cases), and uses sse/avx intrinsics as available:
http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/auxiliary/gallivm/lp_bld_arit.c
The precision is 20bits, which is enough for 3D. But it wouldn't be difficult to have more (or even variable)
2013 Feb 05
0
[LLVMdev] SIMD trigonometry/logarithms?
> From: "Dimitri Tcaciuc" <[hidden email]>
> Sent: Sunday, January 27, 2013 3:42:42 AM
> Subject: [LLVMdev] SIMD trigonometry/logarithms?
>
> I was looking at loop vectorizer code and wondered if there was any
> current or planned effort to introduce SIMD implementations of
> sin/cos/exp/log intrinsics (in particular for x86-64 backend)?
I am currently
2012 Oct 17
0
[LLVMdev] Loop vectorizer
Hi everybody,
On 10/17/12 12:32 AM, Hal Finkel wrote:
>>> Do you have a plan for xforms to increase the amount of
>>> vectorization?
>>
>> Yes. We will need to implement a predication phase and to design the
>> interaction with other loop transformations. Also, this will have to
>> work well with the cost model. We also need to think of a good way to
2012 Oct 16
4
[LLVMdev] Loop vectorizer
----- Original Message -----
> Hi Preston!
>
> >
> > I'd start by making a plan (a design!) with goals and stuff.
> > Publish it so we can see what you mean by "vectorization".
>
> I will send a separate email later, but here is a quick overview. I
> see the vectorizer having four main components:
>
> 1. Preparation passes: If-conversion,
2012 Jan 06
1
[LLVMdev] Single Exit Loops
Ralf,
Ok, thanks, I'll have a look. The paper I was referencing was
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.668 from '90 I
believe. There is also an Intel paper the expands on this for the Itanium.
On Fri, Jan 6, 2012 at 12:34 PM, Ralf Karrenberg <
karrenberg at cdl.uni-saarland.de> wrote:
> Hi,
>
> I am not sure if I know the paper you mentioned, but
2013 Jan 31
3
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
Hi Ralf,
On 01/31/2013 05:44 PM, Ralf Karrenberg wrote:
> As for the current status, the loop vectorizer is only able to vectorize
> inner loops and (I think) does not handle function calls and memory
> operations well. This will prevent it from vectorizing a large group of
> OpenCL kernels, and certainly all "interesting", more complex ones.
Agreed -- but not being able to
2015 Jul 06
4
[LLVMdev] SPMD Autovectorizer
Hi,
Are there any plans to integrate an autovectorizer for SPMD programs into
LLVM? For example, there were previous discussions about integrating the
whole function vectorizer (WFV) from Ralf Karrenberg into LLVM.
Thanks,
Zack
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2013 Jan 31
0
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
Hi Pekka, hi Nadav,
I didn't find the time to read this thread until now, sorry for that.
I actually think you are both right :).
As for the current status, the loop vectorizer is only able to vectorize
inner loops and (I think) does not handle function calls and memory
operations well. This will prevent it from vectorizing a large group of
OpenCL kernels, and certainly all
2013 Jan 25
2
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
> I am in favor of adding metadata to control different aspects of
> vectorization, mainly for supporting user-level pargmas [1] but also for
> DSLs. Before we start adding metadata to the IR we need to define the
> semantics of the tags. "Parallel_for" is too general. We also want to control
> vectorization factor, unroll factor, cost model, etc.
These are used to
2012 Oct 17
2
[LLVMdev] Loop vectorizer
----- Original Message -----
> From: "Ralf Karrenberg" <Chareos at gmx.de>
> To: llvmdev at cs.uiuc.edu
> Sent: Wednesday, October 17, 2012 2:13:08 AM
> Subject: Re: [LLVMdev] Loop vectorizer
>
> Hi everybody,
>
> On 10/17/12 12:32 AM, Hal Finkel wrote:
> >>> Do you have a plan for xforms to increase the amount of
> >>>
2013 Jan 25
4
[LLVMdev] LoopVectorizer in OpenCL C work group autovectorization
On 01/25/2013 09:56 AM, Nadav Rotem wrote:
> Thanks for checking the Loop Vectorizer, I am interested in hearing your
> feedback. The Loop Vectorizer does not fit here. OpenCL vectorization is
> completely different because the language itself is data-parallel. You
> don't need all of the legality checks that the loop vectorizer has.
I'm aware of this and it was my point in
2012 Oct 17
0
[LLVMdev] Loop vectorizer
Hi Nadav,
Do you have any small write-up of current design of loop vectorizer?. If so, can you please send it across?. I want to see if there are dependencies such as unrolling for the vectorization.
In the design we may also have to consider BB vectorizer and loop vectorizer working well together with no ambiguous requirements/dependencies.
Regards,
Shivaram
-----Original Message-----