<div dir="ltr"><div class="gmail_quote"><div class="gmail_attr">[Adding back the list, which I dropped accidentally.]<br></div><div dir="ltr" class="gmail_attr"><br></div><div dir="ltr" class="gmail_attr">On Thu, Aug 8, 2019 at 6:23 PM Doerfert, Johannes <<a href="mailto:jdoerfert@anl.gov">jdoerfert@anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 08/08, Joel E. Denny wrote:<br>
> > > Why do target definitions need to be made available to common files?  Is<br>
> > it<br>
> > > only for the case that common has source not just headers, and that<br>
> > source<br>
> > > must be compiled per device?<br>
> ><br>
> > Good question. Yes, and especially when the common source (that is<br>
> > compiled alone) contains references to template functions/classes which<br>
> > we can only declare in the common code but need to define in the target<br>
> > code. The atomic add example below was my motivation. We want a generic<br>
> > atomic add for various types so templates seemed like a good option but<br>
> > the definition is target specific. As we discussed before, we might not<br>
> > want to use templates after all but specify the versions we would<br>
> > generate explicitly.<br>
> <br>
> <br>
> Sorry, I haven't been following this closely.  Do you have a pointer to<br>
> that conversation?<br>
<br>
I was referring to these:<br>
<a href="http://lists.llvm.org/pipermail/openmp-dev/2019-August/002661.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/openmp-dev/2019-August/002661.html</a><br>
<a href="http://lists.llvm.org/pipermail/openmp-dev/2019-August/002662.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/openmp-dev/2019-August/002662.html</a><br>
<a href="http://lists.llvm.org/pipermail/openmp-dev/2019-August/002669.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/openmp-dev/2019-August/002669.html</a><br>
<br></blockquote><div><br></div><div>Thanks!<br></div><div><br></div><div>Joel<br></div><div> </div></div></div>