Displaying 20 results from an estimated 7000 matches similar to: "Parallel IR [PIR] --- BoF preparation discussion"
2017 Mar 08
3
[RFC][PIR] Parallel LLVM IR -- Stage 0 --
I assume the referring case is something like below, right?
#pragma omp parallel num_threads(n)
{
#pragma omp critical
{
x = x + 1;
}
}
If that is the case, the programmer is already writing the code that is not "serial equivalent".
Our representation for parallelizer is
%t = @llvm.region.entry()["omp.parallel"(),
2017 Mar 08
2
[RFC][PIR] Parallel LLVM IR -- Stage 0 --
> On Mar 8, 2017, at 11:50 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>
>
> On 03/08/2017 01:24 PM, Tian, Xinmin wrote:
>> I assume the referring case is something like below, right?
>>
>> #pragma omp parallel num_threads(n)
>> {
>> #pragma omp critical
>> {
>> x = x + 1;
>> }
>> }
2017 Mar 08
4
(no subject)
".... the problem Mehdi pointed out regarding the missed initializations of array elements, did you comment on that one yet?"
What is the initializations of array elements question? I don't remember this question. Please refresh my memory. Thanks.
I thought Mehdi's question is more about what are attributes needed for these IR-annotation for other LLVM pass to understand and
2017 Jan 28
3
[RFC][PIR] Parallel LLVM IR -- Stage 0 -- IR extension
Dear all,
This RFC proposes three new LLVM IR instructions to express high-level
parallel constructs in a simple, low-level fashion. For this first stage
we prepared two commits that add the proposed instructions and a pass to
lower them to obtain sequential IR. Both patches have be uploaded for
review [1, 2]. The latter patch is very simple and the former consists
of almost only mechanical
2017 Mar 08
2
(no subject)
The IR-region annotation we proposed is as below, there is no @llvm.parallel.for.iterator()..... There is no change to loop CFG.
alloc A[100];
%t = call token @llvm.region.entry()["parallel.for"()]
for(i = 0; i < 100; i++) {
a[i] = f(i);
}
@llvm.region.exit(%t)() ["end.parallel.for"()]
Xinmin
-----Original Message-----
From: Johannes Doerfert
2017 Mar 08
3
(no subject)
A quick update, we have been looking through all LLVM passes to identify the impact of "IR-region annotation", and interaction issues with the rest of LoopOpt and scalarOpt, e.g. interaction with vectorization when you have schedule(simd:guided: 64). What are the common properties for optimizer to know on IR-region annotations. We have our implementation working from O0, O1, O2 to O3.
2017 Mar 08
5
(no subject)
<mehdi.amini at apple.com>,
Bcc:
Subject: Re: [llvm-dev] [RFC][PIR] Parallel LLVM IR -- Stage 0 -- IR extension
Reply-To:
In-Reply-To: <20170224221713.GA931 at arch-linux-jd.home>
Ping.
PS.
Are there actually people interested in this?
We will continue working anyway but it might not make sense to put it
on reviews and announce it on the ML if nobody cares.
On 02/24,
2017 Mar 08
2
(no subject)
On 03/08/2017 12:44 PM, Johannes Doerfert wrote:
> I don't know who pointed it out first but Mehdi made me aware of it at
> CGO. I try to explain it shortly.
>
> Given the following situation (in pseudo code):
>
> alloc A[100];
> parallel_for(i = 0; i < 100; i++)
> A[i] = f(i);
>
> acc = 1;
> for(i = 0; i < 100; i++)
> acc = acc *
2017 Mar 08
3
(no subject)
> On Mar 8, 2017, at 10:55 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
>>
>> On Mar 8, 2017, at 5:36 AM, Johannes Doerfert <doerfert at cs.uni-saarland.de> wrote:
>>
>> <mehdi.amini at apple.com>,
>> Bcc:
>> Subject: Re: [llvm-dev] [RFC][PIR] Parallel LLVM IR -- Stage 0 -- IR extension
>> Reply-To:
>>
2015 Oct 16
5
Managed Languages BOF @ Dev Meeting
Sanjoy, Joseph, and I will be hosting a BoF on using LLVM to build
compilers for managed languages. We're curious to hear who's planning
on attending and what topics you'd like to hear about. Depending on the
expected audience, we're happy to do anything between a rough "what to
expect getting started" to a down in the weeds working session on
relevant optimization
2018 Mar 20
2
HPC/Parallel/Polly BoF at EuroLLVM
On 03/20/2018 05:05 AM, Michael Kruse wrote:
> There's none yet according to http://llvm.org/devmtg/2018-04/#talks
>
> Unfortunately, I won't be present, but IMHO it would be nice to have one.
I agree. This seems like a good idea.
-Hal
>
> Michael
>
>
>
> 2018-03-20 7:50 GMT+01:00 Renato Golin <renato.golin at linaro.org>:
>> Hey folks,
>>
2016 Jul 26
2
[LLVMdev] Interprocedural use-def chains
Hello,
I have been using the USE class to access the use-def chains of different
values. However, what I have noticed is that the set of users of a
particular value is limited for the appearance of that variable in the
current function.
How can I get the interprocedural use of a particular value? For example,
if a variable *a* is used as an argument in a function call *foo*, the USE
analysis
2016 Aug 01
1
[LLVMdev] Interprocedural use-def chains
On Tue, Jul 26, 2016 at 3:05 PM Dounia Khaldi via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Thanks for your reply.
>
> Yes, I was about to recurse over the use list of the argument in the
> called function. I did not want to pursue that because with this solution,
> I am going to implement the interprocedural part myself and was wondering
> if that was not already
2016 Jul 26
2
[LLVMdev] Interprocedural use-def chains
Thanks for your reply.
Yes, I was about to recurse over the use list of the argument in the called
function. I did not want to pursue that because with this solution, I am
going to implement the interprocedural part myself and was wondering if
that was not already done. I was not also 100% sure that this will work for
any type of arguments.
If, based on your response, this is my only solution
2017 Nov 17
4
Signed or unsigned EQ/NEQ
Hello,
In one of the loop transformations I am developing, I need to convert eq
and neq loop latch condition into less than or greater than depending on
the control flow.
The problem is that CmpInst::ICMP_EQ and CmpInst::ICMP_NE are neither
signed nor unsigned in LLVM. Also, I did not find a way to find out if the
integer operands of the CmpInst are signed or unsigned. Apparently, LLVM
does
2015 Mar 09
5
[LLVMdev] LLVM Parallel IR
I'm part of a research group at MIT looking to create an extension of LLVM
that inherently allows one to nicely code a parallel loop.
Most parallel frameworks tend to take the body of a parallel loop and stick
it inside of a function for the parallel runtime to call when appropriate.
However, this makes optimizations significantly more difficult as most
compiler optimizations tend to be
2018 Mar 20
3
HPC/Parallel/Polly BoF at EuroLLVM
Hey folks,
Do we have proposals for an HPC focused BoF at EuroLLVM?
I'd like to discuss the current efforts around integrating Polly,
parallel IR efforts and vectoriser support in VPlan (like outer loop),
as well as coordination on the next steps around Flang.
--
cheers,
--renato
2016 Dec 12
0
LLVM possible projects
@Vivek, thanks for your answer and especially these links!
I just want to add two more though I am not sure if they are useful
here:
- Some slides [0] that explain the general structure of LLVM and LLVM-IR I
used in our compiler class last year [0].
- Examples that build LLVM-IR "from scratch". These were designed to
help students to build an LLVM-IR frontend for their AST.
2018 Dec 31
1
Issue with "t -> signature is meaningless, use custom typechecking"
Hello,
I was implementing the llvm_any_type in my intrinsic
def int_csa_xxx : Intrinsic<[llvm_any_ty], [llvm_i32_ty]>;
as the following in its corresponding builtins in Builtins.def:
BUILTIN(__builtin_xxx, "v.", "nt")
the "t" was sufficient here to not perform any type checking.
The type checking was handled in CGBuiltin.cpp.
This was working until
2016 Dec 10
3
LLVM possible projects
> Hello,
> Presently my research is focused on compiler and i found LLVM great tool to
> work with. I want to familiarize it at undergraduate level.
>
> Hi Hameeza,
I have face similar situation before and I would suggest you to read some
books/ blogs available on Internet for LLVM.
I think the best way to understand LLVM is by playing with it.
Then you should try doing some