<div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 28, 2019 at 9:49 AM Li, Lingda <<a href="mailto:lli@bnl.gov">lli@bnl.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">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I don't think we can have the buffer allocated within the mapper function. It has to be done in the runtime, because of nested mappers.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
First, all mapper functions are born in the same way. We cannot make the outer most mapper function allocate memory, whether the inner one doesn't and has to use what is allocated by the outer most mapper function.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I suppose we still need to allocate memory in the runtime, so the runtime can pass the pointer and size to the mapper function, and the outer mapper function can then pass them into inner ones.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Again, this is just like the current implementation, except that we don't use vecter::push_back(), instead we use something like a manual implementation of vector::push_back() (because we need to use the pointer and the current index)</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I believe the key question here is whether it is true that (<span style="color:black;font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt">the overhead of push_back() > the overhead of precalculating the total number + the memory allocation
 overhead + directly memory write). This will decide whether this change is necessary. Any opinions?</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="color:black;font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt"><br>
</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="color:black;font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt">Thanks,</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="color:black;font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt">Lingda Li</span></div>
<div id="gmail-m_-7975495591526673546appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-7975495591526673546divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Alexey Bataev <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank">Alexey.Bataev@ibm.com</a>><br>
<b>Sent:</b> Thursday, June 27, 2019 5:05 PM<br>
<b>To:</b> Li, Lingda<br>
<b>Cc:</b> Alexandre Eichenberger; Chapman, Barbara (Contact); Kevin K O'Brien; Carlo Bertolli; Deepak Eachempati; Denny, Joel E.; David Oehmke; Ettore Tiotto; <a href="mailto:fraggamuffin@gmail.com" target="_blank">fraggamuffin@gmail.com</a>; Rokos, Georgios; Gheorghe-Teod Bercea; <a href="mailto:gregory.rodgers@amd.com" target="_blank">gregory.rodgers@amd.com</a>; Hal Finkel;
 Sharif, Hashim; Cownie, James H; Sjodin, Jan; <a href="mailto:jbeyer@nvidia.com" target="_blank">jbeyer@nvidia.com</a>; Doerfert, Johannes Rudolf; Jones, Jeff C; <a href="mailto:josem@udel.edu" target="_blank">josem@udel.edu</a>; Robichaux, Joseph; Jeff Heath; <a href="mailto:khaldi.dounia@gmail.com" target="_blank">khaldi.dounia@gmail.com</a>; Kelvin Li; Bobrovsky, Konstantin S; Kotsifakou, Maria; <a href="mailto:lopezmg@ornl.org" target="_blank">lopezmg@ornl.org</a>; Lopez,
 Matthew Graham; Menard, Lorri; Martin Kong; Sarah McNamara; Rice, Michael P; Matt Martineau; <a href="mailto:oscar@ornl.gov" target="_blank">oscar@ornl.gov</a>; Jeeva Paudel; Rao, Premanand M; Krishnaiyer, Rakesh; Narayanaswamy, Ravi; Monteleone, Robert; Lieberman, Ron; Samuel Antao; Jeffrey Sandoval; Sunita
 Chandrasekaran; <a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank">sergey.y.ostanevich@gmail.com</a>; Sergio Pino Gallardo; Dmitriev, Serguei N; Chan, SiuChi; Sunil Shrestha; Wilmarth, Terry L; Tianyi Zhang; <a href="mailto:vadve@illinois.edu" target="_blank">vadve@illinois.edu</a>; Wang Chen; Wael Yehia; Tian, Xinmin<br>
<b>Subject:</b> Re: Re: Re: RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen</font>
<div> </div>
</div>
<div dir="auto">Yes, we need 2 functions, but thw first one can be optimized very effectively. After the optimizations and inlining it will end up with just return s1+s2+s3... I think, inost cases those sizes will be constant, since the mapper maps constant
 number of elements. And, thus, this expression will be optimized to just a constant value.
<div>You don't need to pass these functions to runtime. We can call the directly from the compiler.</div>
<div>1st call: get number of elements.</div>
<div>2nd: allocate the buffer</div>
<div>3rd call: call mapper with this preallocated buffer that fills this buffer without any calls of the runtime functions.</div>
<div>4th call: call the runtime to pass the buffer to the runtime.<br>
<br>
<div dir="ltr" id="gmail-m_-7975495591526673546x_AppleMailSignature">Best regards,
<div>Alexey Bataev</div>
</div>
<div dir="ltr"><br>
27 июня 2019 г., в 16:53, Li, Lingda <<a href="mailto:lli@bnl.gov" target="_blank">lli@bnl.gov</a>> написал(а):<br>
<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
If we precalculate the size, first, it means we need to generate 2 functions for each mapper, rather than 1 now. One for mapping information filling as we have, the other for size calculation (This will not return constant values, because size depends on how
 many instances we are mapping). Both these 2 functions will need to be passed to the runtime. The runtime will need to precalculate the number of components first, then allocate memory, then call the mapper function to fill it up.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Compared with the scheme 1, the differences are:</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
1) An extra call to calculate the total number, while scheme 1 does not;</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
2) A preallocated buffer, whose pointer and the current number should be passed to the mapper function, then the mapper function uses them to fill components, while scheme 1 uses push_back() to do the same thing.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Is there really a benefit doing this? push_back() should be efficient enough compared with directly writing to memory.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
If people here think that, the overhead of push_back() > the overhead of precalculating the total number + the memory allocation overhead + directly memory write, then we can consider this scheme.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thanks,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Lingda Li</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="gmail-m_-7975495591526673546x_appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-7975495591526673546x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Alexey Bataev <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank">Alexey.Bataev@ibm.com</a>><br>
<b>Sent:</b> Thursday, June 27, 2019 4:26 PM<br>
<b>To:</b> Li, Lingda<br>
<b>Cc:</b> Alexandre Eichenberger; Chapman, Barbara (Contact); Kevin K O'Brien; Carlo Bertolli; Deepak Eachempati; Denny, Joel E.; David Oehmke; Ettore Tiotto;
<a href="mailto:fraggamuffin@gmail.com" target="_blank">fraggamuffin@gmail.com</a>; Rokos, Georgios; Gheorghe-Teod Bercea;
<a href="mailto:gregory.rodgers@amd.com" target="_blank">gregory.rodgers@amd.com</a>; Hal Finkel; Sharif, Hashim; Cownie, James H; Sjodin, Jan;
<a href="mailto:jbeyer@nvidia.com" target="_blank">jbeyer@nvidia.com</a>; Doerfert, Johannes Rudolf; Jones, Jeff C;
<a href="mailto:josem@udel.edu" target="_blank">josem@udel.edu</a>; Robichaux, Joseph; Jeff Heath;
<a href="mailto:khaldi.dounia@gmail.com" target="_blank">khaldi.dounia@gmail.com</a>; Kelvin Li; Bobrovsky, Konstantin S; Kotsifakou, Maria;
<a href="mailto:lopezmg@ornl.org" target="_blank">lopezmg@ornl.org</a>; Lopez, Matthew Graham; Menard, Lorri; Martin Kong; Sarah McNamara; Rice, Michael P; Matt Martineau;
<a href="mailto:oscar@ornl.gov" target="_blank">oscar@ornl.gov</a>; Jeeva Paudel; Rao, Premanand M; Krishnaiyer, Rakesh; Narayanaswamy, Ravi; Monteleone, Robert; Lieberman, Ron; Samuel Antao; Jeffrey Sandoval; Sunita Chandrasekaran;
<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank">sergey.y.ostanevich@gmail.com</a>; Sergio Pino Gallardo; Dmitriev, Serguei N; Chan, SiuChi; Sunil Shrestha; Wilmarth, Terry L; Tianyi Zhang;
<a href="mailto:vadve@illinois.edu" target="_blank">vadve@illinois.edu</a>; Wang Chen; Wael Yehia; Tian, Xinmin<br>
<b>Subject:</b> Re: Re: RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen</font>
<div> </div>
</div>
<div>
<p><font size="2">If the functions are inlined (the ines, intended for size precalculation). They can be optimized out very effectively since in most cases they will return constant values.</font><br>
<font size="2">If we could do this, we won't need vectors and oush_backs, we can use preallocated memory and internal counter.</font><br>
<font size="2">--------------</font><br>
<font size="2">Best regards,</font><br>
<font size="2">Alexey Bataev</font><br>
<br>
<graycol.gif><font size="2" color="#424282">"Li, Lingda" ---06/27/2019 04:13:03 PM---Hi Alexey, I think that's why we choose to use variable size storage like std::vector to store the m</font><br>
<br>
<font size="2" color="#5F5F5F">From: </font><font size="2">"Li, Lingda" <<a href="mailto:lli@bnl.gov" target="_blank">lli@bnl.gov</a>></font><br>
<font size="2" color="#5F5F5F">To: </font><font size="2">Alexey Bataev <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank">Alexey.Bataev@ibm.com</a>>, Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank">deachempat@cray.com</a>></font><br>
<font size="2" color="#5F5F5F">Cc: </font><font size="2">"Narayanaswamy, Ravi" <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank">ravi.narayanaswamy@intel.com</a>>, "Alexandre Eichenberger" <<a href="mailto:alexe@us.ibm.com" target="_blank">alexe@us.ibm.com</a>>, "Chapman, Barbara
 (Contact)" <<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank">barbara.chapman@stonybrook.edu</a>>, "Bobrovsky, Konstantin S" <<a href="mailto:konstantin.s.bobrovsky@intel.com" target="_blank">konstantin.s.bobrovsky@intel.com</a>>, Carlo Bertolli <<a href="mailto:cbertol@us.ibm.com" target="_blank">cbertol@us.ibm.com</a>>,
 "Chan, SiuChi" <<a href="mailto:siuchi.chan@amd.com" target="_blank">siuchi.chan@amd.com</a>>, "Cownie, James H" <<a href="mailto:james.h.cownie@intel.com" target="_blank">james.h.cownie@intel.com</a>>, David Oehmke <<a href="mailto:doehmke@cray.com" target="_blank">doehmke@cray.com</a>>, "Denny, Joel E."
 <<a href="mailto:dennyje@ornl.gov" target="_blank">dennyje@ornl.gov</a>>, "Dmitriev, Serguei N" <<a href="mailto:serguei.n.dmitriev@intel.com" target="_blank">serguei.n.dmitriev@intel.com</a>>, "Doerfert, Johannes Rudolf" <<a href="mailto:jdoerfert@anl.gov" target="_blank">jdoerfert@anl.gov</a>>, Ettore
 Tiotto <<a href="mailto:etiotto@ca.ibm.com" target="_blank">etiotto@ca.ibm.com</a>>, "<a href="mailto:fraggamuffin@gmail.com" target="_blank">fraggamuffin@gmail.com</a>" <<a href="mailto:fraggamuffin@gmail.com" target="_blank">fraggamuffin@gmail.com</a>>, Gheorghe-Teod Bercea <<a href="mailto:Gheorghe-Teod.Bercea@ibm.com" target="_blank">Gheorghe-Teod.Bercea@ibm.com</a>>,
 Hal Finkel <<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>>, "<a href="mailto:jbeyer@nvidia.com" target="_blank">jbeyer@nvidia.com</a>" <<a href="mailto:jbeyer@nvidia.com" target="_blank">jbeyer@nvidia.com</a>>, Jeeva Paudel <<a href="mailto:pjeeva01@ca.ibm.com" target="_blank">pjeeva01@ca.ibm.com</a>>,
 Jeff Heath <<a href="mailto:jrheath@ca.ibm.com" target="_blank">jrheath@ca.ibm.com</a>>, Jeffrey Sandoval <<a href="mailto:sandoval@cray.com" target="_blank">sandoval@cray.com</a>>, "Jones, Jeff C" <<a href="mailto:jeff.c.jones@intel.com" target="_blank">jeff.c.jones@intel.com</a>>, "<a href="mailto:josem@udel.edu" target="_blank">josem@udel.edu</a>"
 <<a href="mailto:josem@udel.edu" target="_blank">josem@udel.edu</a>>, Kelvin Li <<a href="mailto:kli@ca.ibm.com" target="_blank">kli@ca.ibm.com</a>>, "Kevin K O'Brien" <<a href="mailto:caomhin@us.ibm.com" target="_blank">caomhin@us.ibm.com</a>>, "<a href="mailto:khaldi.dounia@gmail.com" target="_blank">khaldi.dounia@gmail.com</a>"
 <<a href="mailto:khaldi.dounia@gmail.com" target="_blank">khaldi.dounia@gmail.com</a>>, "Kotsifakou, Maria" <<a href="mailto:kotsifa2@illinois.edu" target="_blank">kotsifa2@illinois.edu</a>>, "Krishnaiyer, Rakesh" <<a href="mailto:rakesh.krishnaiyer@intel.com" target="_blank">rakesh.krishnaiyer@intel.com</a>>,
 "Lieberman, Ron" <<a href="mailto:Ron.Lieberman@amd.com" target="_blank">Ron.Lieberman@amd.com</a>>, "Lopez, Matthew Graham" <<a href="mailto:lopezmg@ornl.gov" target="_blank">lopezmg@ornl.gov</a>>, "<a href="mailto:lopezmg@ornl.org" target="_blank">lopezmg@ornl.org</a>" <<a href="mailto:lopezmg@ornl.org" target="_blank">lopezmg@ornl.org</a>>,
 Martin Kong <<a href="mailto:martin.richard.kong@gmail.com" target="_blank">martin.richard.kong@gmail.com</a>>, Matt Martineau <<a href="mailto:m.martineau@bristol.ac.uk" target="_blank">m.martineau@bristol.ac.uk</a>>, "Menard, Lorri" <<a href="mailto:lorri.menard@intel.com" target="_blank">lorri.menard@intel.com</a>>,
 "Monteleone, Robert" <<a href="mailto:robert.monteleone@intel.com" target="_blank">robert.monteleone@intel.com</a>>, "<a href="mailto:oscar@ornl.gov" target="_blank">oscar@ornl.gov</a>" <<a href="mailto:oscar@ornl.gov" target="_blank">oscar@ornl.gov</a>>, "Rao, Premanand M" <<a href="mailto:premanand.m.rao@intel.com" target="_blank">premanand.m.rao@intel.com</a>>,
 "Rice, Michael P" <<a href="mailto:michael.p.rice@intel.com" target="_blank">michael.p.rice@intel.com</a>>, "Robichaux, Joseph" <<a href="mailto:joseph.robichaux@intel.com" target="_blank">joseph.robichaux@intel.com</a>>, "<a href="mailto:gregory.rodgers@amd.com" target="_blank">gregory.rodgers@amd.com</a>"
 <<a href="mailto:gregory.rodgers@amd.com" target="_blank">gregory.rodgers@amd.com</a>>, "Rokos, Georgios" <<a href="mailto:georgios.rokos@intel.com" target="_blank">georgios.rokos@intel.com</a>>, Samuel Antao <<a href="mailto:Samuel.Antao@ibm.com" target="_blank">Samuel.Antao@ibm.com</a>>, "Sarah McNamara"
 <<a href="mailto:mcnamara@ca.ibm.com" target="_blank">mcnamara@ca.ibm.com</a>>, "<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank">sergey.y.ostanevich@gmail.com</a>" <<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank">sergey.y.ostanevich@gmail.com</a>>, Sergio Pino Gallardo <<a href="mailto:sergiop@udel.edu" target="_blank">sergiop@udel.edu</a>>,
 "Sharif, Hashim" <<a href="mailto:hsharif3@illinois.edu" target="_blank">hsharif3@illinois.edu</a>>, "Sjodin, Jan" <<a href="mailto:Jan.Sjodin@amd.com" target="_blank">Jan.Sjodin@amd.com</a>>, Sunil Shrestha <<a href="mailto:sshrestha@cray.com" target="_blank">sshrestha@cray.com</a>>, Sunita Chandrasekaran
 <<a href="mailto:schandra@udel.edu" target="_blank">schandra@udel.edu</a>>, "Tian, Xinmin" <<a href="mailto:xinmin.tian@intel.com" target="_blank">xinmin.tian@intel.com</a>>, Tianyi Zhang <<a href="mailto:tzhan18@lsu.edu" target="_blank">tzhan18@lsu.edu</a>>, "<a href="mailto:vadve@illinois.edu" target="_blank">vadve@illinois.edu</a>"
 <<a href="mailto:vadve@illinois.edu" target="_blank">vadve@illinois.edu</a>>, Wael Yehia <<a href="mailto:wyehia@ca.ibm.com" target="_blank">wyehia@ca.ibm.com</a>>, Wang Chen <<a href="mailto:wdchen@ca.ibm.com" target="_blank">wdchen@ca.ibm.com</a>>, "Wilmarth, Terry L" <<a href="mailto:terry.l.wilmarth@intel.com" target="_blank">terry.l.wilmarth@intel.com</a>></font><br>
<font size="2" color="#5F5F5F">Date: </font><font size="2">06/27/2019 04:13 PM</font><br>
<font size="2" color="#5F5F5F">Subject: </font><font size="2">[EXTERNAL] Re: RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen</font><br>
</p>
<hr width="100%" size="2" align="left" noshade style="color:rgb(128,145,165)">
<br>
<br>
<br>
<font face="Arial">Hi Alexey,</font><br>
<br>
<font face="Arial">I think that's why we choose to use variable size storage like std::vector to store the mapping information at the first place, right? It'll be costly to precalculate the total number of components, especially in the presence of nested mappers.
 Besides, a runtime function call is just a std::vector::push, so I think it's okay to have multiple function calls.</font><br>
<br>
<font face="Arial">Thanks,</font><br>
<font face="Arial">Lingda Li</font><br>
<hr width="100%" size="2" align="left">
<br>
<b>From:</b> Alexey Bataev <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank">Alexey.Bataev@ibm.com</a>><b><br>
Sent:</b> Thursday, June 27, 2019 3:52 PM<b><br>
To:</b> Deepak Eachempati<b><br>
Cc:</b> Li, Lingda; Narayanaswamy, Ravi; Alexandre Eichenberger; Chapman, Barbara (Contact); Bobrovsky, Konstantin S; Carlo Bertolli; Chan, SiuChi; Cownie, James H; David Oehmke; Denny, Joel E.; Dmitriev, Serguei N; Doerfert, Johannes Rudolf; Ettore Tiotto;
<a href="mailto:fraggamuffin@gmail.com" target="_blank">fraggamuffin@gmail.com</a>; Gheorghe-Teod Bercea; Hal Finkel;
<a href="mailto:jbeyer@nvidia.com" target="_blank">jbeyer@nvidia.com</a>; Jeeva Paudel; Jeff Heath; Jeffrey Sandoval; Jones, Jeff C;
<a href="mailto:josem@udel.edu" target="_blank">josem@udel.edu</a>; Kelvin Li; Kevin K O'Brien; <a href="mailto:khaldi.dounia@gmail.com" target="_blank">
khaldi.dounia@gmail.com</a>; Kotsifakou, Maria; Krishnaiyer, Rakesh; Lieberman, Ron; Lopez, Matthew Graham;
<a href="mailto:lopezmg@ornl.org" target="_blank">lopezmg@ornl.org</a>; Martin Kong; Matt Martineau; Menard, Lorri; Monteleone, Robert;
<a href="mailto:oscar@ornl.gov" target="_blank">oscar@ornl.gov</a>; Rao, Premanand M; Rice, Michael P; Robichaux, Joseph;
<a href="mailto:gregory.rodgers@amd.com" target="_blank">gregory.rodgers@amd.com</a>; Rokos, Georgios; Samuel Antao; Sarah McNamara;
<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank">sergey.y.ostanevich@gmail.com</a>; Sergio Pino Gallardo; Sharif, Hashim; Sjodin, Jan; Sunil Shrestha; Sunita Chandrasekaran; Tian, Xinmin; Tianyi Zhang;
<a href="mailto:vadve@illinois.edu" target="_blank">vadve@illinois.edu</a>; Wael Yehia; Wang Chen; Wilmarth, Terry L<b><br>
Subject:</b> Re: RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen
<br>
<br>
Lingda, can we in scheme 1 precalculate the total number of components, allocate memory for these precalculate number of elements, then fill it with mappers and only after that call the runtime function (only once!) to transfer the mappings to the runtime?
<br>
<br>
Best regards, <br>
Alexey Bataev<br>
<br>
27 июня 2019 г., в 15:44, Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>> написал(а):<br>
<ul>
<ul>
Got it. Thanks.<br>
<br>
-- Deepak<br>
<br>
<b>From:</b> Li, Lingda [<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">mailto:lli@bnl.gov</font></u></a>]
<b><br>
Sent:</b> Thursday, June 27, 2019 2:41 PM<b><br>
To:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>>; Narayanaswamy, Ravi <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank"><u><font color="#0000FF">ravi.narayanaswamy@intel.com</font></u></a>>;
 'Alexandre Eichenberger' <<a href="mailto:alexe@us.ibm.com" target="_blank"><u><font color="#0000FF">alexe@us.ibm.com</font></u></a>>; 'Alexey Bataev' <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank"><u><font color="#0000FF">Alexey.Bataev@ibm.com</font></u></a>>; Chapman, Barbara
 (Contact) <<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank"><u><font color="#0000FF">barbara.chapman@stonybrook.edu</font></u></a>>; Bobrovsky, Konstantin S <<a href="mailto:konstantin.s.bobrovsky@intel.com" target="_blank"><u><font color="#0000FF">konstantin.s.bobrovsky@intel.com</font></u></a>>;
 'Carlo Bertolli' <<a href="mailto:cbertol@us.ibm.com" target="_blank"><u><font color="#0000FF">cbertol@us.ibm.com</font></u></a>>; 'Chan, SiuChi' <<a href="mailto:siuchi.chan@amd.com" target="_blank"><u><font color="#0000FF">siuchi.chan@amd.com</font></u></a>>; Cownie, James H <<a href="mailto:james.h.cownie@intel.com" target="_blank"><u><font color="#0000FF">james.h.cownie@intel.com</font></u></a>>;
 David Oehmke <<a href="mailto:doehmke@cray.com" target="_blank"><u><font color="#0000FF">doehmke@cray.com</font></u></a>>; 'Denny, Joel E.' <<a href="mailto:dennyje@ornl.gov" target="_blank"><u><font color="#0000FF">dennyje@ornl.gov</font></u></a>>; Dmitriev, Serguei N <<a href="mailto:serguei.n.dmitriev@intel.com" target="_blank"><u><font color="#0000FF">serguei.n.dmitriev@intel.com</font></u></a>>;
 Doerfert, Johannes Rudolf <<a href="mailto:jdoerfert@anl.gov" target="_blank"><u><font color="#0000FF">jdoerfert@anl.gov</font></u></a>>; 'Ettore Tiotto' <<a href="mailto:etiotto@ca.ibm.com" target="_blank"><u><font color="#0000FF">etiotto@ca.ibm.com</font></u></a>>; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'
 <<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>>; 'Gheorghe-Teod Bercea' <<a href="mailto:Gheorghe-Teod.Bercea@ibm.com" target="_blank"><u><font color="#0000FF">Gheorghe-Teod.Bercea@ibm.com</font></u></a>>; Hal Finkel
 <<a href="mailto:hfinkel@anl.gov" target="_blank"><u><font color="#0000FF">hfinkel@anl.gov</font></u></a>>; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>' <<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>>;
 'Jeeva Paudel' <<a href="mailto:pjeeva01@ca.ibm.com" target="_blank"><u><font color="#0000FF">pjeeva01@ca.ibm.com</font></u></a>>; 'Jeff Heath' <<a href="mailto:jrheath@ca.ibm.com" target="_blank"><u><font color="#0000FF">jrheath@ca.ibm.com</font></u></a>>; Jeffrey Sandoval <<a href="mailto:sandoval@cray.com" target="_blank"><u><font color="#0000FF">sandoval@cray.com</font></u></a>>;
 Jones, Jeff C <<a href="mailto:jeff.c.jones@intel.com" target="_blank"><u><font color="#0000FF">jeff.c.jones@intel.com</font></u></a>>; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>' <<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>>;
 'Kelvin Li' <<a href="mailto:kli@ca.ibm.com" target="_blank"><u><font color="#0000FF">kli@ca.ibm.com</font></u></a>>; 'Kevin K O'Brien' <<a href="mailto:caomhin@us.ibm.com" target="_blank"><u><font color="#0000FF">caomhin@us.ibm.com</font></u></a>>; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>'
 <<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>>; 'Kotsifakou, Maria' <<a href="mailto:kotsifa2@illinois.edu" target="_blank"><u><font color="#0000FF">kotsifa2@illinois.edu</font></u></a>>; Krishnaiyer, Rakesh <<a href="mailto:rakesh.krishnaiyer@intel.com" target="_blank"><u><font color="#0000FF">rakesh.krishnaiyer@intel.com</font></u></a>>;
 Lieberman, Ron <<a href="mailto:Ron.Lieberman@amd.com" target="_blank"><u><font color="#0000FF">Ron.Lieberman@amd.com</font></u></a>>; 'Lopez, Matthew Graham' <<a href="mailto:lopezmg@ornl.gov" target="_blank"><u><font color="#0000FF">lopezmg@ornl.gov</font></u></a>>; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'
 <<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>>; 'Martin Kong' <<a href="mailto:martin.richard.kong@gmail.com" target="_blank"><u><font color="#0000FF">martin.richard.kong@gmail.com</font></u></a>>; 'Matt Martineau' <<a href="mailto:m.martineau@bristol.ac.uk" target="_blank"><u><font color="#0000FF">m.martineau@bristol.ac.uk</font></u></a>>;
 Menard, Lorri <<a href="mailto:lorri.menard@intel.com" target="_blank"><u><font color="#0000FF">lorri.menard@intel.com</font></u></a>>; Monteleone, Robert <<a href="mailto:robert.monteleone@intel.com" target="_blank"><u><font color="#0000FF">robert.monteleone@intel.com</font></u></a>>;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M <<a href="mailto:premanand.m.rao@intel.com" target="_blank"><u><font color="#0000FF">premanand.m.rao@intel.com</font></u></a>>; Rice, Michael P <<a href="mailto:michael.p.rice@intel.com" target="_blank"><u><font color="#0000FF">michael.p.rice@intel.com</font></u></a>>;
 Robichaux, Joseph <<a href="mailto:joseph.robichaux@intel.com" target="_blank"><u><font color="#0000FF">joseph.robichaux@intel.com</font></u></a>>;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios <<a href="mailto:georgios.rokos@intel.com" target="_blank"><u><font color="#0000FF">georgios.rokos@intel.com</font></u></a>>; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'
 <<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>>; 'Sarah McNamara' <<a href="mailto:mcnamara@ca.ibm.com" target="_blank"><u><font color="#0000FF">mcnamara@ca.ibm.com</font></u></a>>; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>'
 <<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>>; 'Sergio Pino Gallardo' <<a href="mailto:sergiop@udel.edu" target="_blank"><u><font color="#0000FF">sergiop@udel.edu</font></u></a>>; 'Sharif, Hashim' <<a href="mailto:hsharif3@illinois.edu" target="_blank"><u><font color="#0000FF">hsharif3@illinois.edu</font></u></a>>;
 Sjodin, Jan <<a href="mailto:Jan.Sjodin@amd.com" target="_blank"><u><font color="#0000FF">Jan.Sjodin@amd.com</font></u></a>>; Sunil Shrestha <<a href="mailto:sshrestha@cray.com" target="_blank"><u><font color="#0000FF">sshrestha@cray.com</font></u></a>>; 'Sunita Chandrasekaran' <<a href="mailto:schandra@udel.edu" target="_blank"><u><font color="#0000FF">schandra@udel.edu</font></u></a>>;
 Tian, Xinmin <<a href="mailto:xinmin.tian@intel.com" target="_blank"><u><font color="#0000FF">xinmin.tian@intel.com</font></u></a>>; Tianyi Zhang <<a href="mailto:tzhan18@lsu.edu" target="_blank"><u><font color="#0000FF">tzhan18@lsu.edu</font></u></a>>; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'
 <<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>>; 'Wael Yehia' <<a href="mailto:wyehia@ca.ibm.com" target="_blank"><u><font color="#0000FF">wyehia@ca.ibm.com</font></u></a>>; 'Wang Chen' <<a href="mailto:wdchen@ca.ibm.com" target="_blank"><u><font color="#0000FF">wdchen@ca.ibm.com</font></u></a>>;
 Wilmarth, Terry L <<a href="mailto:terry.l.wilmarth@intel.com" target="_blank"><u><font color="#0000FF">terry.l.wilmarth@intel.com</font></u></a>><b><br>
Subject:</b> Re: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
In the current scheme, all mappings within a mapper function is done atomically by one thread. In the mapper function of the example in the original email, <push> will just push the mapping information into an internal data structure. Once all mapping information
 is available, the runtime will do the real mapping together. For your example, the behavior is the same as the code below:<br>
<br>
<font color="#201F1E">...</font><br>
<font color="#201F1E">#pragma omp parallel num_threads(2)</font><br>
<font color="#201F1E">{</font><br>
<font color="#201F1E">if (omp_get_thread_num() == 0) {</font><br>
<font color="#201F1E">#pragma omp target map(s.x, s.p[0:s.x])</font><br>
<font color="#201F1E">{</font><br>
<font color="#201F1E">for (int i = 0; i < s.x; i++) s.p[i] = i;</font><br>
<font color="#201F1E">}</font><br>
<font color="#201F1E">} else {</font><br>
<font color="#201F1E">#pragma omp target map(other_data)</font><br>
<font color="#201F1E">{</font><br>
<font color="#201F1E">// work on other_data</font><br>
<font color="#201F1E">}</font><br>
<font color="#201F1E">}</font><br>
<font color="#201F1E">...</font>
<div align="center">
<hr width="100%" size="2" align="center">
</div>
<b>From:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>><b><br>
Sent:</b> Thursday, June 27, 2019 3:34 PM<b><br>
To:</b> Li, Lingda; Narayanaswamy, Ravi; 'Alexandre Eichenberger'; 'Alexey Bataev'; Chapman, Barbara (Contact); Bobrovsky, Konstantin S; 'Carlo Bertolli'; 'Chan, SiuChi'; Cownie, James H; David Oehmke; 'Denny, Joel E.'; Dmitriev, Serguei N; Doerfert, Johannes
 Rudolf ; 'Ettore Tiotto'; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'; 'Gheorghe-Teod Bercea'; Hal Finkel; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>';
 'Jeeva Paudel'; 'Jeff Heath'; Jeffrey Sandoval; Jones, Jeff C; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>'; 'Kelvin Li'; 'Kevin K O'Brien'; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>';
 'Kotsifakou, Maria'; Krishnaiyer, Rakesh; Lieberman, Ron ; 'Lopez, Matthew Graham'; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'; 'Martin Kong'; 'Matt Martineau'; Menard, Lorri; Monteleone, Robert;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M; Rice, Michael P; Robichaux, Joseph;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'; 'Sarah McNamara'; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>';
 'Sergio Pino Gallardo'; 'Sharif, Hashim'; Sjodin, Jan ; Sunil Shrestha; 'Sunita Chandrasekaran'; Tian, Xinmin; Tianyi Zhang; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'; 'Wael Yehia'; 'Wang Chen'; Wilmarth,
 Terry L<b><br>
Subject:</b> RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
I was referring to something like this, where another thread is not trying to map the same data:<br>
<br>
#pragma omp declare mapper(S s) map(s.x) map(s.p[0:s.x])<br>
S s;<br>
...<br>
#pragma omp parallel num_threads(2)<br>
{<br>
if (omp_get_thread_num() == 0) {<br>
#pragma omp target map(s)<br>
{<br>
for (int i = 0; i < s.x; i++) s.p[i] = i;<br>
}<br>
} else {<br>
#pragma omp target map(other_data)<br>
{ <br>
// work on other_data<br>
}<br>
}<br>
...<br>
<br>
Since I believe you are mapping s.x and s.p as separate map operations, it is possible that another thread could map ‘other_data’ in between those two maps. If this happens, will your implementation still ensure that s.x and s.p are positioned at the right
 offsets with respect to the same base address (&s)?<br>
<br>
-- Deepak<br>
<br>
<b>From:</b> Li, Lingda [<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">mailto:lli@bnl.gov</font></u></a>]
<b><br>
Sent:</b> Thursday, June 27, 2019 2:26 PM<b><br>
To:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>>; Narayanaswamy, Ravi <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank"><u><font color="#0000FF">ravi.narayanaswamy@intel.com</font></u></a>>;
 'Alexandre Eichenberger' <<a href="mailto:alexe@us.ibm.com" target="_blank"><u><font color="#0000FF">alexe@us.ibm.com</font></u></a>>; 'Alexey Bataev' <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank"><u><font color="#0000FF">Alexey.Bataev@ibm.com</font></u></a>>; Chapman, Barbara
 (Contact) <<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank"><u><font color="#0000FF">barbara.chapman@stonybrook.edu</font></u></a>>; Bobrovsky, Konstantin S <<a href="mailto:konstantin.s.bobrovsky@intel.com" target="_blank"><u><font color="#0000FF">konstantin.s.bobrovsky@intel.com</font></u></a>>;
 'Carlo Bertolli' <<a href="mailto:cbertol@us.ibm.com" target="_blank"><u><font color="#0000FF">cbertol@us.ibm.com</font></u></a>>; 'Chan, SiuChi' <<a href="mailto:siuchi.chan@amd.com" target="_blank"><u><font color="#0000FF">siuchi.chan@amd.com</font></u></a>>; Cownie, James H <<a href="mailto:james.h.cownie@intel.com" target="_blank"><u><font color="#0000FF">james.h.cownie@intel.com</font></u></a>>;
 David Oehmke <<a href="mailto:doehmke@cray.com" target="_blank"><u><font color="#0000FF">doehmke@cray.com</font></u></a>>; 'Denny, Joel E.' <<a href="mailto:dennyje@ornl.gov" target="_blank"><u><font color="#0000FF">dennyje@ornl.gov</font></u></a>>; Dmitriev, Serguei N <<a href="mailto:serguei.n.dmitriev@intel.com" target="_blank"><u><font color="#0000FF">serguei.n.dmitriev@intel.com</font></u></a>>;
 Doerfert, Johannes Rudolf <<a href="mailto:jdoerfert@anl.gov" target="_blank"><u><font color="#0000FF">jdoerfert@anl.gov</font></u></a>>; 'Ettore Tiotto' <<a href="mailto:etiotto@ca.ibm.com" target="_blank"><u><font color="#0000FF">etiotto@ca.ibm.com</font></u></a>>; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'
 <<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>>; 'Gheorghe-Teod Bercea' <<a href="mailto:Gheorghe-Teod.Bercea@ibm.com" target="_blank"><u><font color="#0000FF">Gheorghe-Teod.Bercea@ibm.com</font></u></a>>; Hal Finkel
 <<a href="mailto:hfinkel@anl.gov" target="_blank"><u><font color="#0000FF">hfinkel@anl.gov</font></u></a>>; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>' <<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>>;
 'Jeeva Paudel' <<a href="mailto:pjeeva01@ca.ibm.com" target="_blank"><u><font color="#0000FF">pjeeva01@ca.ibm.com</font></u></a>>; 'Jeff Heath' <<a href="mailto:jrheath@ca.ibm.com" target="_blank"><u><font color="#0000FF">jrheath@ca.ibm.com</font></u></a>>; Jeffrey Sandoval <<a href="mailto:sandoval@cray.com" target="_blank"><u><font color="#0000FF">sandoval@cray.com</font></u></a>>;
 Jones, Jeff C <<a href="mailto:jeff.c.jones@intel.com" target="_blank"><u><font color="#0000FF">jeff.c.jones@intel.com</font></u></a>>; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>' <<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>>;
 'Kelvin Li' <<a href="mailto:kli@ca.ibm.com" target="_blank"><u><font color="#0000FF">kli@ca.ibm.com</font></u></a>>; 'Kevin K O'Brien' <<a href="mailto:caomhin@us.ibm.com" target="_blank"><u><font color="#0000FF">caomhin@us.ibm.com</font></u></a>>; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>'
 <<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>>; 'Kotsifakou, Maria' <<a href="mailto:kotsifa2@illinois.edu" target="_blank"><u><font color="#0000FF">kotsifa2@illinois.edu</font></u></a>>; Krishnaiyer, Rakesh <<a href="mailto:rakesh.krishnaiyer@intel.com" target="_blank"><u><font color="#0000FF">rakesh.krishnaiyer@intel.com</font></u></a>>;
 Lieberman, Ron <<a href="mailto:Ron.Lieberman@amd.com" target="_blank"><u><font color="#0000FF">Ron.Lieberman@amd.com</font></u></a>>; 'Lopez, Matthew Graham' <<a href="mailto:lopezmg@ornl.gov" target="_blank"><u><font color="#0000FF">lopezmg@ornl.gov</font></u></a>>; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'
 <<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>>; 'Martin Kong' <<a href="mailto:martin.richard.kong@gmail.com" target="_blank"><u><font color="#0000FF">martin.richard.kong@gmail.com</font></u></a>>; 'Matt Martineau' <<a href="mailto:m.martineau@bristol.ac.uk" target="_blank"><u><font color="#0000FF">m.martineau@bristol.ac.uk</font></u></a>>;
 Menard, Lorri <<a href="mailto:lorri.menard@intel.com" target="_blank"><u><font color="#0000FF">lorri.menard@intel.com</font></u></a>>; Monteleone, Robert <<a href="mailto:robert.monteleone@intel.com" target="_blank"><u><font color="#0000FF">robert.monteleone@intel.com</font></u></a>>;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M <<a href="mailto:premanand.m.rao@intel.com" target="_blank"><u><font color="#0000FF">premanand.m.rao@intel.com</font></u></a>>; Rice, Michael P <<a href="mailto:michael.p.rice@intel.com" target="_blank"><u><font color="#0000FF">michael.p.rice@intel.com</font></u></a>>;
 Robichaux, Joseph <<a href="mailto:joseph.robichaux@intel.com" target="_blank"><u><font color="#0000FF">joseph.robichaux@intel.com</font></u></a>>;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios <<a href="mailto:georgios.rokos@intel.com" target="_blank"><u><font color="#0000FF">georgios.rokos@intel.com</font></u></a>>; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'
 <<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>>; 'Sarah McNamara' <<a href="mailto:mcnamara@ca.ibm.com" target="_blank"><u><font color="#0000FF">mcnamara@ca.ibm.com</font></u></a>>; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>'
 <<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>>; 'Sergio Pino Gallardo' <<a href="mailto:sergiop@udel.edu" target="_blank"><u><font color="#0000FF">sergiop@udel.edu</font></u></a>>; 'Sharif, Hashim' <<a href="mailto:hsharif3@illinois.edu" target="_blank"><u><font color="#0000FF">hsharif3@illinois.edu</font></u></a>>;
 Sjodin, Jan <<a href="mailto:Jan.Sjodin@amd.com" target="_blank"><u><font color="#0000FF">Jan.Sjodin@amd.com</font></u></a>>; Sunil Shrestha <<a href="mailto:sshrestha@cray.com" target="_blank"><u><font color="#0000FF">sshrestha@cray.com</font></u></a>>; 'Sunita Chandrasekaran' <<a href="mailto:schandra@udel.edu" target="_blank"><u><font color="#0000FF">schandra@udel.edu</font></u></a>>;
 Tian, Xinmin <<a href="mailto:xinmin.tian@intel.com" target="_blank"><u><font color="#0000FF">xinmin.tian@intel.com</font></u></a>>; Tianyi Zhang <<a href="mailto:tzhan18@lsu.edu" target="_blank"><u><font color="#0000FF">tzhan18@lsu.edu</font></u></a>>; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'
 <<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>>; 'Wael Yehia' <<a href="mailto:wyehia@ca.ibm.com" target="_blank"><u><font color="#0000FF">wyehia@ca.ibm.com</font></u></a>>; 'Wang Chen' <<a href="mailto:wdchen@ca.ibm.com" target="_blank"><u><font color="#0000FF">wdchen@ca.ibm.com</font></u></a>>;
 Wilmarth, Terry L <<a href="mailto:terry.l.wilmarth@intel.com" target="_blank"><u><font color="#0000FF">terry.l.wilmarth@intel.com</font></u></a>><b><br>
Subject:</b> Re: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
When 2 threads try to concurrently map the same data, it behaves the same as when 2 threads concurrently map the same data using map clauses, and mappers don't introduce extra considerations here. For instance, both threads use #omp target enter data concurrently.<br>
<br>
When 2 threads concurrently maps the same data, my understanding based on the current code is, it will create 2 copies of the same data, either copy is correctly to use. It may have a problem when both copies are mapped back if not synchronized correctly, but
 this is a programming issue, not the responsibility of OpenMP.<br>
<br>
Thanks,<br>
Lingda Li
<div align="center">
<hr width="100%" size="2" align="center">
</div>
<b>From:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>><b><br>
Sent:</b> Thursday, June 27, 2019 3:17 PM<b><br>
To:</b> Li, Lingda; Narayanaswamy, Ravi; 'Alexandre Eichenberger'; 'Alexey Bataev'; Chapman, Barbara (Contact); Bobrovsky, Konstantin S; 'Carlo Bertolli'; 'Chan, SiuChi'; Cownie, James H; David Oehmke; 'Denny, Joel E.'; Dmitriev, Serguei N; Doerfert, Johannes
 Rudolf ; 'Ettore Tiotto'; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'; 'Gheorghe-Teod Bercea'; Hal Finkel; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>';
 'Jeeva Paudel'; 'Jeff Heath'; Jeffrey Sandoval; Jones, Jeff C; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>'; 'Kelvin Li'; 'Kevin K O'Brien'; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>';
 'Kotsifakou, Maria'; Krishnaiyer, Rakesh; Lieberman, Ron ; 'Lopez, Matthew Graham'; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'; 'Martin Kong'; 'Matt Martineau'; Menard, Lorri; Monteleone, Robert;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M; Rice, Michael P; Robichaux, Joseph;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'; 'Sarah McNamara'; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>';
 'Sergio Pino Gallardo'; 'Sharif, Hashim'; Sjodin, Jan ; Sunil Shrestha; 'Sunita Chandrasekaran'; Tian, Xinmin; Tianyi Zhang; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'; 'Wael Yehia'; 'Wang Chen'; Wilmarth,
 Terry L<b><br>
Subject:</b> RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
Thanks.<br>
<br>
Is it possible for another thread to be concurrently mapped something else while the maps from the mapper function are taking place? If so, how do you guarantee that the allocation for each component will get you the right addresses in device memory? Sorry
 if this was covered before and I missed it.<br>
<br>
-- Deepak<br>
<br>
<b>From:</b> Li, Lingda [<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">mailto:lli@bnl.gov</font></u></a>]
<b><br>
Sent:</b> Thursday, June 27, 2019 2:08 PM<b><br>
To:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>>; Narayanaswamy, Ravi <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank"><u><font color="#0000FF">ravi.narayanaswamy@intel.com</font></u></a>>;
 'Alexandre Eichenberger' <<a href="mailto:alexe@us.ibm.com" target="_blank"><u><font color="#0000FF">alexe@us.ibm.com</font></u></a>>; 'Alexey Bataev' <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank"><u><font color="#0000FF">Alexey.Bataev@ibm.com</font></u></a>>; Chapman, Barbara
 (Contact) <<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank"><u><font color="#0000FF">barbara.chapman@stonybrook.edu</font></u></a>>; Bobrovsky, Konstantin S <<a href="mailto:konstantin.s.bobrovsky@intel.com" target="_blank"><u><font color="#0000FF">konstantin.s.bobrovsky@intel.com</font></u></a>>;
 'Carlo Bertolli' <<a href="mailto:cbertol@us.ibm.com" target="_blank"><u><font color="#0000FF">cbertol@us.ibm.com</font></u></a>>; 'Chan, SiuChi' <<a href="mailto:siuchi.chan@amd.com" target="_blank"><u><font color="#0000FF">siuchi.chan@amd.com</font></u></a>>; Cownie, James H <<a href="mailto:james.h.cownie@intel.com" target="_blank"><u><font color="#0000FF">james.h.cownie@intel.com</font></u></a>>;
 David Oehmke <<a href="mailto:doehmke@cray.com" target="_blank"><u><font color="#0000FF">doehmke@cray.com</font></u></a>>; 'Denny, Joel E.' <<a href="mailto:dennyje@ornl.gov" target="_blank"><u><font color="#0000FF">dennyje@ornl.gov</font></u></a>>; Dmitriev, Serguei N <<a href="mailto:serguei.n.dmitriev@intel.com" target="_blank"><u><font color="#0000FF">serguei.n.dmitriev@intel.com</font></u></a>>;
 Doerfert, Johannes Rudolf <<a href="mailto:jdoerfert@anl.gov" target="_blank"><u><font color="#0000FF">jdoerfert@anl.gov</font></u></a>>; 'Ettore Tiotto' <<a href="mailto:etiotto@ca.ibm.com" target="_blank"><u><font color="#0000FF">etiotto@ca.ibm.com</font></u></a>>; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'
 <<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>>; 'Gheorghe-Teod Bercea' <<a href="mailto:Gheorghe-Teod.Bercea@ibm.com" target="_blank"><u><font color="#0000FF">Gheorghe-Teod.Bercea@ibm.com</font></u></a>>; Hal Finkel
 <<a href="mailto:hfinkel@anl.gov" target="_blank"><u><font color="#0000FF">hfinkel@anl.gov</font></u></a>>; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>' <<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>>;
 'Jeeva Paudel' <<a href="mailto:pjeeva01@ca.ibm.com" target="_blank"><u><font color="#0000FF">pjeeva01@ca.ibm.com</font></u></a>>; 'Jeff Heath' <<a href="mailto:jrheath@ca.ibm.com" target="_blank"><u><font color="#0000FF">jrheath@ca.ibm.com</font></u></a>>; Jeffrey Sandoval <<a href="mailto:sandoval@cray.com" target="_blank"><u><font color="#0000FF">sandoval@cray.com</font></u></a>>;
 Jones, Jeff C <<a href="mailto:jeff.c.jones@intel.com" target="_blank"><u><font color="#0000FF">jeff.c.jones@intel.com</font></u></a>>; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>' <<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>>;
 'Kelvin Li' <<a href="mailto:kli@ca.ibm.com" target="_blank"><u><font color="#0000FF">kli@ca.ibm.com</font></u></a>>; 'Kevin K O'Brien' <<a href="mailto:caomhin@us.ibm.com" target="_blank"><u><font color="#0000FF">caomhin@us.ibm.com</font></u></a>>; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>'
 <<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>>; 'Kotsifakou, Maria' <<a href="mailto:kotsifa2@illinois.edu" target="_blank"><u><font color="#0000FF">kotsifa2@illinois.edu</font></u></a>>; Krishnaiyer, Rakesh <<a href="mailto:rakesh.krishnaiyer@intel.com" target="_blank"><u><font color="#0000FF">rakesh.krishnaiyer@intel.com</font></u></a>>;
 Lieberman, Ron <<a href="mailto:Ron.Lieberman@amd.com" target="_blank"><u><font color="#0000FF">Ron.Lieberman@amd.com</font></u></a>>; 'Lopez, Matthew Graham' <<a href="mailto:lopezmg@ornl.gov" target="_blank"><u><font color="#0000FF">lopezmg@ornl.gov</font></u></a>>; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'
 <<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>>; 'Martin Kong' <<a href="mailto:martin.richard.kong@gmail.com" target="_blank"><u><font color="#0000FF">martin.richard.kong@gmail.com</font></u></a>>; 'Matt Martineau' <<a href="mailto:m.martineau@bristol.ac.uk" target="_blank"><u><font color="#0000FF">m.martineau@bristol.ac.uk</font></u></a>>;
 Menard, Lorri <<a href="mailto:lorri.menard@intel.com" target="_blank"><u><font color="#0000FF">lorri.menard@intel.com</font></u></a>>; Monteleone, Robert <<a href="mailto:robert.monteleone@intel.com" target="_blank"><u><font color="#0000FF">robert.monteleone@intel.com</font></u></a>>;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M <<a href="mailto:premanand.m.rao@intel.com" target="_blank"><u><font color="#0000FF">premanand.m.rao@intel.com</font></u></a>>; Rice, Michael P <<a href="mailto:michael.p.rice@intel.com" target="_blank"><u><font color="#0000FF">michael.p.rice@intel.com</font></u></a>>;
 Robichaux, Joseph <<a href="mailto:joseph.robichaux@intel.com" target="_blank"><u><font color="#0000FF">joseph.robichaux@intel.com</font></u></a>>;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios <<a href="mailto:georgios.rokos@intel.com" target="_blank"><u><font color="#0000FF">georgios.rokos@intel.com</font></u></a>>; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'
 <<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>>; 'Sarah McNamara' <<a href="mailto:mcnamara@ca.ibm.com" target="_blank"><u><font color="#0000FF">mcnamara@ca.ibm.com</font></u></a>>; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>'
 <<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>>; 'Sergio Pino Gallardo' <<a href="mailto:sergiop@udel.edu" target="_blank"><u><font color="#0000FF">sergiop@udel.edu</font></u></a>>; 'Sharif, Hashim' <<a href="mailto:hsharif3@illinois.edu" target="_blank"><u><font color="#0000FF">hsharif3@illinois.edu</font></u></a>>;
 Sjodin, Jan <<a href="mailto:Jan.Sjodin@amd.com" target="_blank"><u><font color="#0000FF">Jan.Sjodin@amd.com</font></u></a>>; Sunil Shrestha <<a href="mailto:sshrestha@cray.com" target="_blank"><u><font color="#0000FF">sshrestha@cray.com</font></u></a>>; 'Sunita Chandrasekaran' <<a href="mailto:schandra@udel.edu" target="_blank"><u><font color="#0000FF">schandra@udel.edu</font></u></a>>;
 Tian, Xinmin <<a href="mailto:xinmin.tian@intel.com" target="_blank"><u><font color="#0000FF">xinmin.tian@intel.com</font></u></a>>; Tianyi Zhang <<a href="mailto:tzhan18@lsu.edu" target="_blank"><u><font color="#0000FF">tzhan18@lsu.edu</font></u></a>>; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'
 <<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>>; 'Wael Yehia' <<a href="mailto:wyehia@ca.ibm.com" target="_blank"><u><font color="#0000FF">wyehia@ca.ibm.com</font></u></a>>; 'Wang Chen' <<a href="mailto:wdchen@ca.ibm.com" target="_blank"><u><font color="#0000FF">wdchen@ca.ibm.com</font></u></a>>;
 Wilmarth, Terry L <<a href="mailto:terry.l.wilmarth@intel.com" target="_blank"><u><font color="#0000FF">terry.l.wilmarth@intel.com</font></u></a>><b><br>
Subject:</b> Re: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
Hi Deepak,<br>
<br>
Yes, it handles this case. The first part of mapper function (initially allocate space for the whole array) is just an optimization, not required for correctness, as suggested by you in an early discussion.<br>
<br>
In your example, s.x and s.p will be allocated separately (not in a single allocation). But Clang guarantees that their addresses will be correct because s.x and s.p share the same base address, which is &s.<br>
<br>
Thanks,<br>
Lingda Li
<div align="center">
<hr width="100%" size="2" align="center">
</div>
<b>From:</b> Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>><b><br>
Sent:</b> Thursday, June 27, 2019 2:49 PM<b><br>
To:</b> Li, Lingda; Narayanaswamy, Ravi; 'Alexandre Eichenberger'; 'Alexey Bataev'; Chapman, Barbara (Contact); Bobrovsky, Konstantin S; 'Carlo Bertolli'; 'Chan, SiuChi'; Cownie, James H; David Oehmke; 'Denny, Joel E.'; Dmitriev, Serguei N; Doerfert, Johannes
 Rudolf ; '<a href="mailto:estotzer@ti.com" target="_blank"><u><font color="#0000FF">estotzer@ti.com</font></u></a>'; 'Ettore Tiotto'; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>'; 'Gheorghe-Teod Bercea'; Hal Finkel;
 '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>'; 'Jeeva Paudel'; 'Jeff Heath'; Jeffrey Sandoval; Jones, Jeff C; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>'; 'Kelvin
 Li'; 'Kevin K O'Brien'; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>'; 'Kotsifakou, Maria'; Krishnaiyer, Rakesh; Lieberman, Ron ; 'Lopez, Matthew Graham'; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>';
 'Martin Kong'; 'Matt Martineau'; Menard, Lorri; Monteleone, Robert; <a href="mailto:oscar@ornl.gov" target="_blank">
<u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M; Rice, Michael P; Robichaux, Joseph;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'; 'Sarah McNamara'; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>';
 'Sergio Pino Gallardo'; 'Sharif, Hashim'; Sjodin, Jan ; Sunil Shrestha; 'Sunita Chandrasekaran'; Tian, Xinmin; Tianyi Zhang; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'; 'Wael Yehia'; 'Wang Chen'; Wilmarth,
 Terry L<b><br>
Subject:</b> RE: Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
For Scheme 1, it looks like you are doing separate maps for each component when size == 1. It seems like the first and last if statements should have “size >= 1” rather than “size > 1”.<br>
<br>
If the mapper is declared like this:<br>
<br>
struct S {<br>
int x;<br>
... // other stuff<br>
int *p; <br>
};<br>
<br>
#pragma omp declare mapper(S s) map(s.x) map(s.p[0:s.x])<br>
<br>
And you have:<br>
<br>
S s;<br>
...<br>
#pragma omp target map(s)<br>
{<br>
for (int i = 0; i < s.x; i++) s.p[i] = i;<br>
}<br>
<br>
Since the target construct is just mapping a single structure of type S, there should be one map that takes care of mapping storage for s.x and s.p with a single allocation, and a separate map for the array section s.p[0:s.x], and finally the pointer attachment
 of s.p to s.p[0:s.x]. Does Scheme 1 handle this?<br>
<br>
-- Deepak<br>
<br>
<br>
<b>From:</b> Li, Lingda [<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">mailto:lli@bnl.gov</font></u></a>]
<b><br>
Sent:</b> Thursday, June 27, 2019 1:07 PM<b><br>
To:</b> Narayanaswamy, Ravi <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank"><u><font color="#0000FF">ravi.narayanaswamy@intel.com</font></u></a>>; 'Alexandre Eichenberger' <<a href="mailto:alexe@us.ibm.com" target="_blank"><u><font color="#0000FF">alexe@us.ibm.com</font></u></a>>;
 'Alexey Bataev' <<a href="mailto:Alexey.Bataev@ibm.com" target="_blank"><u><font color="#0000FF">Alexey.Bataev@ibm.com</font></u></a>>; Chapman, Barbara (Contact) <<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank"><u><font color="#0000FF">barbara.chapman@stonybrook.edu</font></u></a>>;
 Bobrovsky, Konstantin S <<a href="mailto:konstantin.s.bobrovsky@intel.com" target="_blank"><u><font color="#0000FF">konstantin.s.bobrovsky@intel.com</font></u></a>>; 'Carlo Bertolli' <<a href="mailto:cbertol@us.ibm.com" target="_blank"><u><font color="#0000FF">cbertol@us.ibm.com</font></u></a>>;
 'Chan, SiuChi' <<a href="mailto:siuchi.chan@amd.com" target="_blank"><u><font color="#0000FF">siuchi.chan@amd.com</font></u></a>>; Cownie, James H <<a href="mailto:james.h.cownie@intel.com" target="_blank"><u><font color="#0000FF">james.h.cownie@intel.com</font></u></a>>; David Oehmke <<a href="mailto:doehmke@cray.com" target="_blank"><u><font color="#0000FF">doehmke@cray.com</font></u></a>>;
 Deepak Eachempati <<a href="mailto:deachempat@cray.com" target="_blank"><u><font color="#0000FF">deachempat@cray.com</font></u></a>>; 'Denny, Joel E.' <<a href="mailto:dennyje@ornl.gov" target="_blank"><u><font color="#0000FF">dennyje@ornl.gov</font></u></a>>; Dmitriev, Serguei N <<a href="mailto:serguei.n.dmitriev@intel.com" target="_blank"><u><font color="#0000FF">serguei.n.dmitriev@intel.com</font></u></a>>;
 Doerfert, Johannes Rudolf <<a href="mailto:jdoerfert@anl.gov" target="_blank"><u><font color="#0000FF">jdoerfert@anl.gov</font></u></a>>; '<a href="mailto:estotzer@ti.com" target="_blank"><u><font color="#0000FF">estotzer@ti.com</font></u></a>' <<a href="mailto:estotzer@ti.com" target="_blank"><u><font color="#0000FF">estotzer@ti.com</font></u></a>>;
 'Ettore Tiotto' <<a href="mailto:etiotto@ca.ibm.com" target="_blank"><u><font color="#0000FF">etiotto@ca.ibm.com</font></u></a>>; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>' <<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>>;
 'Gheorghe-Teod Bercea' <<a href="mailto:Gheorghe-Teod.Bercea@ibm.com" target="_blank"><u><font color="#0000FF">Gheorghe-Teod.Bercea@ibm.com</font></u></a>>; Hal Finkel <<a href="mailto:hfinkel@anl.gov" target="_blank"><u><font color="#0000FF">hfinkel@anl.gov</font></u></a>>; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>'
 <<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>>; 'Jeeva Paudel' <<a href="mailto:pjeeva01@ca.ibm.com" target="_blank"><u><font color="#0000FF">pjeeva01@ca.ibm.com</font></u></a>>; 'Jeff Heath' <<a href="mailto:jrheath@ca.ibm.com" target="_blank"><u><font color="#0000FF">jrheath@ca.ibm.com</font></u></a>>;
 Jeffrey Sandoval <<a href="mailto:sandoval@cray.com" target="_blank"><u><font color="#0000FF">sandoval@cray.com</font></u></a>>; Jones, Jeff C <<a href="mailto:jeff.c.jones@intel.com" target="_blank"><u><font color="#0000FF">jeff.c.jones@intel.com</font></u></a>>; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>'
 <<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>>; 'Kelvin Li' <<a href="mailto:kli@ca.ibm.com" target="_blank"><u><font color="#0000FF">kli@ca.ibm.com</font></u></a>>; 'Kevin K O'Brien' <<a href="mailto:caomhin@us.ibm.com" target="_blank"><u><font color="#0000FF">caomhin@us.ibm.com</font></u></a>>;
 '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>' <<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>>; 'Kotsifakou, Maria' <<a href="mailto:kotsifa2@illinois.edu" target="_blank"><u><font color="#0000FF">kotsifa2@illinois.edu</font></u></a>>;
 Krishnaiyer, Rakesh <<a href="mailto:rakesh.krishnaiyer@intel.com" target="_blank"><u><font color="#0000FF">rakesh.krishnaiyer@intel.com</font></u></a>>; Lieberman, Ron <<a href="mailto:Ron.Lieberman@amd.com" target="_blank"><u><font color="#0000FF">Ron.Lieberman@amd.com</font></u></a>>;
 Li, Lingda <<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">lli@bnl.gov</font></u></a>>; 'Lopez, Matthew Graham' <<a href="mailto:lopezmg@ornl.gov" target="_blank"><u><font color="#0000FF">lopezmg@ornl.gov</font></u></a>>; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'
 <<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>>; 'Martin Kong' <<a href="mailto:martin.richard.kong@gmail.com" target="_blank"><u><font color="#0000FF">martin.richard.kong@gmail.com</font></u></a>>; 'Matt Martineau' <<a href="mailto:m.martineau@bristol.ac.uk" target="_blank"><u><font color="#0000FF">m.martineau@bristol.ac.uk</font></u></a>>;
 Menard, Lorri <<a href="mailto:lorri.menard@intel.com" target="_blank"><u><font color="#0000FF">lorri.menard@intel.com</font></u></a>>; Monteleone, Robert <<a href="mailto:robert.monteleone@intel.com" target="_blank"><u><font color="#0000FF">robert.monteleone@intel.com</font></u></a>>;
<a href="mailto:oscar@ornl.gov" target="_blank"><u><font color="#0000FF">oscar@ornl.gov</font></u></a>; Rao, Premanand M <<a href="mailto:premanand.m.rao@intel.com" target="_blank"><u><font color="#0000FF">premanand.m.rao@intel.com</font></u></a>>; Rice, Michael P <<a href="mailto:michael.p.rice@intel.com" target="_blank"><u><font color="#0000FF">michael.p.rice@intel.com</font></u></a>>;
 Robichaux, Joseph <<a href="mailto:joseph.robichaux@intel.com" target="_blank"><u><font color="#0000FF">joseph.robichaux@intel.com</font></u></a>>;
<a href="mailto:gregory.rodgers@amd.com" target="_blank"><u><font color="#0000FF">gregory.rodgers@amd.com</font></u></a>; Rokos, Georgios <<a href="mailto:georgios.rokos@intel.com" target="_blank"><u><font color="#0000FF">georgios.rokos@intel.com</font></u></a>>; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>'
 <<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>>; 'Sarah McNamara' <<a href="mailto:mcnamara@ca.ibm.com" target="_blank"><u><font color="#0000FF">mcnamara@ca.ibm.com</font></u></a>>; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>'
 <<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>>; 'Sergio Pino Gallardo' <<a href="mailto:sergiop@udel.edu" target="_blank"><u><font color="#0000FF">sergiop@udel.edu</font></u></a>>; 'Sharif, Hashim' <<a href="mailto:hsharif3@illinois.edu" target="_blank"><u><font color="#0000FF">hsharif3@illinois.edu</font></u></a>>;
 Sjodin, Jan <<a href="mailto:Jan.Sjodin@amd.com" target="_blank"><u><font color="#0000FF">Jan.Sjodin@amd.com</font></u></a>>; Sunil Shrestha <<a href="mailto:sshrestha@cray.com" target="_blank"><u><font color="#0000FF">sshrestha@cray.com</font></u></a>>; 'Sunita Chandrasekaran' <<a href="mailto:schandra@udel.edu" target="_blank"><u><font color="#0000FF">schandra@udel.edu</font></u></a>>;
 Tian, Xinmin <<a href="mailto:xinmin.tian@intel.com" target="_blank"><u><font color="#0000FF">xinmin.tian@intel.com</font></u></a>>; Tianyi Zhang <<a href="mailto:tzhan18@lsu.edu" target="_blank"><u><font color="#0000FF">tzhan18@lsu.edu</font></u></a>>; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'
 <<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>>; 'Wael Yehia' <<a href="mailto:wyehia@ca.ibm.com" target="_blank"><u><font color="#0000FF">wyehia@ca.ibm.com</font></u></a>>; 'Wang Chen' <<a href="mailto:wdchen@ca.ibm.com" target="_blank"><u><font color="#0000FF">wdchen@ca.ibm.com</font></u></a>>;
 Wilmarth, Terry L <<a href="mailto:terry.l.wilmarth@intel.com" target="_blank"><u><font color="#0000FF">terry.l.wilmarth@intel.com</font></u></a>><b><br>
Subject:</b> Comparison of 2 schemes to implement OpenMP 5.0 declare mapper codegen<br>
<br>
<font face="Arial">Hi,</font><br>
<font face="Arial"></font><br>
<font face="Arial">Alexey and I would like to have your attention on an ongoing discussion of 2 schemes to implement the declare mapper in OpenMP 5.0. The detailed discussion can be found at
</font><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D59474&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=EVaPRpEtSzi0Y56zmjD5fXRzN87UZDOaYp5PY3TXiVQ&e=" target="_blank"><u><font color="#1155CC" face="Arial">https://reviews.llvm.org/D59474</font></u></a><br>
<font face="Arial"></font><br>
<font face="Arial">Scheme 1 (the one has been implemented by me in </font><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D59474&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=EVaPRpEtSzi0Y56zmjD5fXRzN87UZDOaYp5PY3TXiVQ&e=" target="_blank"><u><font color="#1155CC" face="Arial">https://reviews.llvm.org/D59474</font></u></a><font face="Arial">):</font><br>
<font face="Arial">The detailed design can be found at </font><a href="https://github.com/lingda-li/public-sharing/blob/master/mapper_runtime_design.pptx" target="_blank"><u><font color="#1155CC" face="Arial">https://github.com/lingda-li/public-sharing/blob/master/mapper_runtime_design.pptx</font></u></a><br>
<font face="Arial">For each mapper function, the compiler generates a function like this:</font><br>
<font face="Arial"></font><br>
<font face="Arial">```</font><br>
<font face="Arial">void <type>.mapper(void *base, void *begin, size_t size, int64_t type) {<br>
// Allocate space for an array section first.<br>
if (size > 1 && !maptype.IsDelete)<br>
<push>(base, begin, size*sizeof(Ty), clearToFrom(type));<br>
<br>
// Map members.<br>
for (unsigned i = 0; i < size; i++) {<br>
// For each component specified by this mapper:<br>
for (auto c : components) {</font><br>
<font face="Arial">...; // code to generate c.arg_base, c.arg_begin, c.arg_size, c.arg_type<br>
if (c.hasMapper())<br>
(*c.Mapper())(c.arg_base, c.arg_begin, c.arg_size, c.arg_type);<br>
else<br>
<push>(c.arg_base, c.arg_begin, c.arg_size, c.arg_type);<br>
}<br>
}<br>
// Delete the array section.<br>
if (size > 1 && maptype.IsDelete)<br>
<push>(base, begin, size*sizeof(Ty), clearToFrom(type));<br>
}</font><br>
<font face="Arial">```</font><br>
<font face="Arial">This function is passed to the OpenMP runtime, and the runtime will call this function to finish the data mapping.</font><br>
<font face="Arial"></font><br>
<font face="Arial"></font><br>
<font face="Arial">Scheme 2 (which Alexey proposes):</font><br>
<font face="Arial">Alexey proposes to move parts of the mapper function above into the OpenMP runtime, so the compiler will generate code below:</font><br>
<font face="Arial">```</font><br>
<font face="Arial">void <type>.mapper(void *base, void *begin, size_t size, int64_t type) {</font><br>
<font face="Arial">...; // code to generate arg_base, arg_begin, arg_size, arg_type, arg_mapper.</font><br>
<font face="Arial">auto sub_components[] = {...}; // fill in generated begin, base, ...<br>
__tgt_mapper(base, begin, size, type, sub_components);<br>
}</font><br>
<font face="Arial">```</font><br>
<font face="Arial"></font><br>
<font face="Arial">`__tgt_mapper` is a runtime function as below:</font><br>
<font face="Arial">```</font><br>
<font face="Arial">void __tgt_mapper(void *base, void *begin, size_t size, int64_t type, auto components[]) {<br>
// Allocate space for an array section first.<br>
if (size > 1 && !maptype.IsDelete)<br>
<push>(base, begin, size*sizeof(Ty), clearToFrom(type));<br>
<br>
// Map members.<br>
for (unsigned i = 0; i < size; i++) {<br>
// For each component specified by this mapper:<br>
for (auto c : components) {<br>
if (c.hasMapper())<br>
(*c.Mapper())(c.arg_base, c.arg_begin, c.arg_size, c.arg_type);<br>
else<br>
<push>(c.arg_base, c.arg_begin, c.arg_size, c.arg_type);<br>
}<br>
}<br>
// Delete the array section.<br>
if (size > 1 && maptype.IsDelete)<br>
<push>(base, begin, size*sizeof(Ty), clearToFrom(type));<br>
}</font><br>
<font face="Arial">```</font><br>
<font face="Arial"></font><br>
<font face="Arial">Comparison:</font><br>
<font face="Arial">Why to choose 1 over 2:</font><br>
<font face="Arial">1. In scheme 2, the compiler needs to generate all map types and pass them to __tgt_mapper through sub_components. But in this case, the compiler won't be able to generate the correct MEMBER_OF field in map type. As a result, the runtime
 has to fix it using the mechanism we already have here: __tgt_mapper_num_components. This not only increases complexity, but also, it means the runtime needs further manipulation of the map type, which creates locality issues. While in the current scheme,
 the map type is generated by compiler once, so the data locality will be very good in this case.</font><br>
<font face="Arial">2. In scheme 2, sub_components includes all components that should be mapped. If we are mapping an array, this means we need to map many components, which will need to allocate memory for sub_components in the heap. This creates further memory
 management burden and is not an efficient way to use memory.</font><br>
<font face="Arial">3. In scheme 1, we are able to inline nested mapper functions. As a result, the compiler can do further optimizations to optimize the mapper function, e.g., eliminate redundant computation, loop unrolling, and thus achieve potentially better
 performance. We cannot achieve these optimizations in scheme 2.</font><br>
<font face="Arial"></font><br>
<font face="Arial">Why to choose 2 over 1:</font><br>
<font face="Arial">1. Less code in the mapper function codegen (I doubt this because the codegen function of scheme 1 uses less than 200 loc)</font><br>
<font face="Arial">Alexey may have other reasons.</font><br>
<font face="Arial"></font><br>
<font face="Arial">We will appreciate if you can share your thoughts.</font><br>
<font face="Arial"></font><br>
<font face="Arial">Thanks,</font><br>
<font face="Arial">Lingda Li</font><br>
<div align="center">
<hr width="100%" size="2" align="center">
</div>
<b>From:</b> Narayanaswamy, Ravi <<a href="mailto:ravi.narayanaswamy@intel.com" target="_blank"><u><font color="#0000FF">ravi.narayanaswamy@intel.com</font></u></a>><b><br>
Sent:</b> Wednesday, June 19, 2019 3:09 PM<b><br>
To:</b> 'Alexandre Eichenberger'; 'Alexey Bataev'; '<a href="mailto:barbara.chapman@stonybrook.edu" target="_blank"><u><font color="#0000FF">barbara.chapman@stonybrook.edu</font></u></a>'; Bobrovsky, Konstantin S; 'Carlo Bertolli'; 'Chan, SiuChi'; Cownie, James H; David Oehmke;
 Deepak Eachempati; 'Denny, Joel E.'; Dmitriev, Serguei N; Doerfert, Johannes Rudolf ; '<a href="mailto:estotzer@ti.com" target="_blank"><u><font color="#0000FF">estotzer@ti.com</font></u></a>'; 'Ettore Tiotto'; '<a href="mailto:fraggamuffin@gmail.com" target="_blank"><u><font color="#0000FF">fraggamuffin@gmail.com</font></u></a>';
 'Gheorghe-Teod Bercea'; '<a href="mailto:hfinkel@anl.gov" target="_blank"><u><font color="#0000FF">hfinkel@anl.gov</font></u></a>'; '<a href="mailto:jbeyer@nvidia.com" target="_blank"><u><font color="#0000FF">jbeyer@nvidia.com</font></u></a>'; 'Jeeva Paudel'; 'Jeff Heath'; Jeffrey Sandoval;
 Jones, Jeff C; '<a href="mailto:josem@udel.edu" target="_blank"><u><font color="#0000FF">josem@udel.edu</font></u></a>'; 'Kelvin Li'; 'Kevin K O'Brien'; '<a href="mailto:khaldi.dounia@gmail.com" target="_blank"><u><font color="#0000FF">khaldi.dounia@gmail.com</font></u></a>'; 'Kotsifakou,
 Maria'; Krishnaiyer, Rakesh; Lieberman, Ron ; '<a href="mailto:lli@bnl.gov" target="_blank"><u><font color="#0000FF">lli@bnl.gov</font></u></a>'; 'Lopez, Matthew Graham'; '<a href="mailto:lopezmg@ornl.org" target="_blank"><u><font color="#0000FF">lopezmg@ornl.org</font></u></a>'; 'Martin
 Kong'; 'Matt Martineau'; Menard, Lorri; Monteleone, Robert; Narayanaswamy, Ravi; 'Oscar R. Hernandez'; Rao, Premanand M; Rice, Michael P; Robichaux, Joseph; Rodgers, Gregory; Rokos, Georgios; '<a href="mailto:samuel.antao@ibm.com" target="_blank"><u><font color="#0000FF">samuel.antao@ibm.com</font></u></a>';
 'Sarah McNamara'; '<a href="mailto:sergey.y.ostanevich@gmail.com" target="_blank"><u><font color="#0000FF">sergey.y.ostanevich@gmail.com</font></u></a>'; 'Sergio Pino Gallardo'; 'Sharif, Hashim'; Sjodin, Jan ; Sunil Shrestha (<a href="mailto:sshrestha@cray.com" target="_blank"><u><font color="#0000FF">sshrestha@cray.com</font></u></a>);
 'Sunita Chandrasekaran'; Tian, Xinmin; Tianyi Zhang; '<a href="mailto:vadve@illinois.edu" target="_blank"><u><font color="#0000FF">vadve@illinois.edu</font></u></a>'; 'Wael Yehia'; 'Wang Chen'; Wilmarth, Terry L<b><br>
Subject:</b> OpenMP / HPC in Clang / LLVM Multi-company Telecom Meeting Minutes June 19th 2019<br>
<br>
<b><font face="Times New Roman">Next Meeting : July 10</font></b><b><sup><font face="Times New Roman">th</font></sup></b><b><font face="Times New Roman"> (Moved from July 3</font></b><b><sup><font face="Times New Roman">rd</font></sup></b><b><font face="Times New Roman">)</font></b><br>
<b><font face="Times New Roman"></font></b><br>
<b><font face="Times New Roman">Opens :</font></b><br>
<b><font color="#1F497D">- Documentation</font></b><br>
<font color="#1F497D">- Greg : Can we have documents for libopenmp and Libomptarget.</font><br>
<font color="#1F497D">- Alexey suggested having 3 documents: libopenmp, Libomptarget and device plugin
</font><br>
<font color="#1F497D">- Hal will convert the existing libomptarget document. Once done others can update document to capture the existing implementation</font><br>
<font color="#1F497D">Future addition to libomptarget will also require update to document.</font><br>
<font color="#1F497D">- Next libopenmp document will be created if it does not exist or updated if one exists.</font><br>
<font color="#1F497D"></font><font face="Times New Roman"></font><br>
<b><font color="#1F497D">LTO for fat binary linking</font></b><br>
<font color="#1F497D">- Serguei (Intel) has an implementation which enables LTO and doing away with linker scripts.</font><br>
<font color="#1F497D">Everybody agreed this is a good idea, especially some linkers don’t have support for linker scripts.</font><br>
<font color="#1F497D">AMD is interested in enabling enabling LTO and will like to see the code</font><br>
<font color="#1F497D">Serguei to post the code to get feedback from all</font><br>
<font color="#1F497D">- Hal to present in next meeting his proposal to support static fat archives using LTO.</font><br>
<font color="#1F497D"></font><br>
<b><font color="#1F497D">OpenMP 5.0 Features</font></b><br>
<font color="#1F497D">- No update on setting up the public website. Johannes was out attending ISC.</font><br>
<font color="#1F497D">- New features added since last release (courtesy of Kelvin)</font><br>
<font size="2" face="Arial">- allocate clause/allocate directive - parsing+sema, codegen<br>
- mutexinout dependence-type for task<br>
- user-defined mapper (declare mapper) - parsing+sema. <br>
- omp_get_device_num() API routine</font><br>
<font color="#1F497D"></font><br>
<b><font color="#1F497D">Development Activity</font></b><br>
<b><font color="#1F497D">- Async API</font></b><br>
<font color="#1F497D">Support in Clang and libopenmp including lit test had been checked in by Doru</font><br>
<font color="#1F497D"></font><br>
<b><font color="#1F497D">- Mapper support</font></b><br>
<font color="#1F497D">Initial support for Mapper has been posted for review Lingda. Once approved, the rest of the support will be done</font><br>
<font color="#1F497D">Lingda : Should the old API being replaced by the new similar API with extra mapper argument be obsoleted</font><br>
<font color="#1F497D">Suggestion was for clang to not generated but keep the API in libomptarget for backward compatible. In the future it can be obsoleted</font><br>
<font color="#1F497D"></font><br>
<b><font color="#1F497D">- Required Directives</font></b><br>
<b><font color="#1F497D"></font></b><font color="#1F497D">Support for required directives has been checked in by Doru.
</font><br>
<font color="#1F497D">There was one issue with checking for requires directive and confirming it the Declare type is TO or LINK.</font><br>
<font color="#1F497D">Doru removed the check and added note to make sure if things change in future need to modify this code.</font><br>
<font color="#1F497D"></font><br>
<b><font face="Times New Roman">Roll Call :</font></b></ul>
</ul>
<table class="gmail-m_-7975495591526673546x_x_x_MsoNormalTable" border="1">
<tbody>
<tr valign="top">
<td width="129" valign="bottom"><b>Company</b></td>
<td width="188" valign="bottom"><b>Attendees</b></td>
<td width="64" valign="bottom">
<div align="center"><b>19-Jun</b></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>AMD</b></td>
<td width="188" valign="bottom"></td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Greg Rodgers</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Ashwin Aji</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Jan Sjodin</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Ron Lieberman</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">sameer Sahasrabuddhe</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Andrey Kasaurov</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>ANL </b></td>
<td width="188" valign="bottom">Hal Finkel</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Johannes Doerfert</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>IBM</b></td>
<td width="188" valign="bottom">Alexandre Eichenberger</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Carlo Bertolli</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Kelvin Li</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Doru</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Alexey Bataev</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>Intel</b></td>
<td width="188" valign="bottom">Andrey Churbanov</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Ravi Narayanaswamy</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Serguei Dmitriev</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Rajiv Deodhar</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Lorri Menard</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Terry Wilmarth</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Rao, Prem</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Hansang Bae</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">George Rokos</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>Cray</b></td>
<td width="188" valign="bottom">Deepak Eachempati</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>Micron</b></td>
<td width="188" valign="bottom">John Leidel</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>Nvidia</b></td>
<td width="188" valign="bottom">James Beyer</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>ORNL</b></td>
<td width="188" valign="bottom">Graham Lopez</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Joel Denny</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Geoffroy Vallee</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Oscar Hernandez</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>SBU/BNL</b></td>
<td width="188" valign="bottom">Lingda Li</td>
<td width="64" valign="bottom">
<div align="center">x</div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b></b></td>
<td width="188" valign="bottom">Jose Monlsave</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"></td>
<td width="188" valign="bottom">Martin Kong</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>TI</b></td>
<td width="188" valign="bottom">Eric Stotzer</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>U of Bristol</b></td>
<td width="188" valign="bottom">Mat Martineau</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>U of Delaware</b></td>
<td width="188" valign="bottom">Sunita Chandrasekaran</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>U of Illinois</b></td>
<td width="188" valign="bottom">Hashim Sharif</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>Rice</b></td>
<td width="188" valign="bottom">John Mellor-Crummey</td>
<td width="64" valign="bottom">
<div align="center"></div>
</td>
</tr>
<tr valign="top">
<td width="129" valign="bottom"><b>LSU</b></td>
<td width="188" valign="bottom">Tianyi Zhang</td>
<td width="64" valign="bottom"></td>
</tr>
</tbody>
</table>
<ul>
<ul>
<font color="#1F497D"></font><br>
<font color="#1F497D"></font><br>
<a name="m_-7975495591526673546_x_x_x_x_x_x_x_x__InsertRtfSavedPosition"></a><br>
<font size="1" color="#404040">.........................................................................................................................................</font><br>
<a name="m_-7975495591526673546_x_x_x_x_x_x_x_x_OutJoinLink"></a><font size="4" face="Wingdings">à</font><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__meet.intel.com_ravi.narayanaswamy_DK7943NR&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=K4msFCmDvK4n0MdVQd7UTXRRvRkaNwLzMaP8fnX0iOg&e=" target="_blank"><u><font size="5" color="#0066CC">Join
 Skype Meeting</font></u></a><font size="4"> </font><a name="m_-7975495591526673546_x_x_x_x_x_x_x_x_OutSharedNoteBorder"></a><font size="4"></font><a name="m_-7975495591526673546_x_x_x_x_x_x_x_x_OutSharedNoteLink"></a><font size="4"></font>
<ul>
<font size="2">Trouble Joining? </font><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__meet.intel.com_ravi.narayanaswamy_DK7943NR-3Fsl-3D1&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=krI3wEp2z8GhcZt6feFq3WgaBjcEoTDRk-GvI1BIdO8&e=" target="_blank"><u><font size="2" color="#0066CC">Try
 Skype Web App</font></u></a><u><font size="2"> </font></u></ul>
<font size="4">Join by phone</font><br>
<a href="tel:+1(916)356-2663%20(or%20your%20local%20bridge%20access%20#)%20Choose%20bridge%205." target="_blank"><u><font size="2" color="#0066CC">+1(916)356-2663 (or your local bridge access #) Choose bridge 5.</font></u></a><font size="2"> (Global) English (United States)
</font><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__dial.intel.com&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=g2dQtoTqaRXyBMaIUpfyoPFDRTtrQbgbWbb9b90tgBg&e=" target="_blank"><u><font size="2" color="#0066CC">Find
 a local number</font></u></a> <br>
<font size="1"></font><br>
<font size="2">Conference ID: 7607896966</font><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__dial.intel.com&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=g2dQtoTqaRXyBMaIUpfyoPFDRTtrQbgbWbb9b90tgBg&e=" target="_blank"><u><font size="2" color="#0066CC">Forgot
 your dial-in PIN?</font></u></a><font size="1"> </font>|<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__o15.officeredir.microsoft.com_r_rlidLync15-3Fclid-3D1033-26p1-3D5-26p2-3D2009&d=DwMFaQ&c=aTOVZmpUfPKZuaG9NO7J7Mh6imZbfhL47t9CpZ-pCOw&r=RLUU7gQynM_GwGu2QR7zHw&m=0c8CuLZZzM3R7PecCmFPYLuPYEOtCJHYTIGjSgIPaWU&s=6OCBXxzOIJfra2Pewq_p-l2pY3MyKnuG-TLr7M1xq-s&e=" target="_blank"><u><font size="2" color="#0066CC">Help</font></u></a><font size="1"></font><br>
<font size="4"></font><br>
<sub><font size="1" color="#FFFFFF">[!OC([1033])!]</font></sub><br>
<font size="1" color="#404040">.........................................................................................................................................</font><br>
<font color="#1F497D"></font><br>
<font color="#1F497D"></font></ul>
</ul>
<p></p>
<p><br>
</p>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>

</blockquote></div>