<div dir="ltr">Hi Sergey,<div><br></div><div>Apologies for the delayed response. All the transformations take place in IR.  I will post more information later today or tomorrow.</div><div><br></div><div>thanks,</div><div>chris</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 9, 2015 at 4:40 PM, Sergey Ostanevich <span dir="ltr"><<a href="mailto:sergos.gnu@gmail.com" target="_blank">sergos.gnu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Chirs,<br>
<br>
>From those two replies you sent I can't get the point.<br>
Here you say modules compiled independently for host and target<br>
(accelerator) and that IR is not a good place to tackle the<br>
architecture differences:<br>
<span class=""><br>
On Tue, Jun 9, 2015 at 10:17 AM, Christos Margiolas<br>
<<a href="mailto:chrmargiolas@gmail.com">chrmargiolas@gmail.com</a>> wrote:<br>
> In fact, I have two modules:<br>
> a) the Host one<br>
> b) the Accelerator one<br>
><br>
> Each one gets compiled independently. The runtime takes care of the<br>
> offloading operations and loads the accelerator code. Imagine that you want<br>
> to compile for amd64 and nvidia ptx. You cannot do it in a single module and<br>
> even if you support it, it is gonna become scary. How are you gonna handle<br>
> architecture differences that affect the IR in a nice way? e.g. pointer<br>
> size, stack alignment and much more...<br>
><br>
<br>
</span>And 11 minutes later you write:<br>
<br>
On Tue, Jun 9, 2015 at 10:28 AM, Christos Margiolas<br>
<<a href="mailto:chrmargiolas@gmail.com">chrmargiolas@gmail.com</a>> wrote:<br>
> Hello,<br>
><br>
<span class="">> I can see some fundamental differences between this work and my work.<br>
> However, I think they are more complementary than "competitive". My work<br>
> handles code extraction for offloading (in IR level) and offloading control<br>
<br>
</span>[...]<br>
<span class=""><br>
> The scheme you refer could be supported on the top of my infrastructure. I<br>
> personally believe that code extraction and transformations for offloading<br>
> should be done in IR and not in source level. The reason is that in IR level<br>
> you have enough information about your program (e.g. datatypes) and a good<br>
> idea about your target architectures.<br>
><br>
<br>
</span>Can you please clarify the scheme you propose: whether modules are<br>
different from the source level?<br>
How do you plan to address the architecture differences in the IR level?<br>
<br>
Regards,<br>
Sergos<br>
</blockquote></div><br></div>