<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Well, I must say I was flabbergasted that it did not work……
<div class="">I had a look into this…..</div>
<div class=""><br class="">
</div>
<div class="">The restrictions are as follows:</div>
<div class=""><br class="">
</div>
<div class="">fold-wlfs are not done by default :-(</div>
<div class=""><br class="">
</div>
<div class="">if a nesting of WLs occurs *within one function body* the inner WL is *not* done.</div>
<div class=""><br class="">
</div>
<div class="">I re-wrote your euler into:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">int[.] euler(int n)</div>
<div class="">{</div>
<div class="">    a = with {</div>
<div class="">        ([1] <= [i] <= [n]) : relprime(n,i);</div>
<div class="">    }:genarray([n], 0);</div>
<div class=""><br class="">
</div>
<div class="">    return a;</div>
<div class="">}</div>
<div class=""><br class="">
</div>
<div class="">pushing the summation into main…..</div>
<div class=""><br class="">
</div>
<div class="">IT STILL DID NOT WORK :-)</div>
<div class=""><br class="">
</div>
<div class="">and then I remembered that, as of recently, we auto-inline small functions! LOL!</div>
<div class=""><br class="">
</div>
<div class="">So what the compiler did was to inline euler, and to recombine the summation => BINGO no go!</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">all that was needed, was to add “noinline” to euler…..:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">noinline</div>
<div class="">int[.] euler(int n)</div>
<div class="">{</div>
<div class="">    a = with {</div>
<div class="">        ([1] <= [i] <= [n]) : relprime(n,i);</div>
<div class="">    }:genarray([n], 0);</div>
<div class=""><br class="">
</div>
<div class="">    return a;</div>
<div class="">}</div>
</div>
<div class=""><br class="">
</div>
<div class="">gives you a cudarized version……..</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">=> more work on the CUDA magic is clearly needed :-)</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Bodo</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 19 Mar 2018, at 18:49, Meyer, Jonathan C <<a href="mailto:jcm5@hw.ac.uk" class="">jcm5@hw.ac.uk</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<table id="msexchangesafetytips;467195d8-6a7a-4d21-b21c-08d58dcb24e0;R:en-GB" border="0" cellspacing="0" cellpadding="0" width="100%" align="left" style="font-family: Helvetica; letter-spacing: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border: 0px; display: table; width: 1455px; table-layout: fixed; float: none;" class="">
<tbody class="">
<tr class="">
<td valign="middle" width="1px" bgcolor="#910A19" cellpadding="7px 2px 7px 2px" style="padding: 7px 2px; background-color: rgb(145, 10, 25);" class="">
</td>
<td valign="middle" width="100%" bgcolor="#FDF2F4" cellpadding="7px 5px 7px 15px" style="width: 1345px; background-color: rgb(253, 242, 244); padding: 7px 5px 7px 15px; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 12px; font-weight: normal; color: rgb(33, 33, 33); text-align: left; word-wrap: break-word;" class="">
<div class="">This sender failed our fraud detection checks and may not be who they appear to be. Learn about <a href="http://aka.ms/LearnAboutSpoofing" class="">spoofing</a></div>
</td>
<td valign="middle" align="left" width="75px" bgcolor="#FDF2F4" cellpadding="7px 5px 7px 5px" style="width: 75px; background-color: rgb(253, 242, 244); padding: 7px 5px; font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; font-size: 12px; font-weight: normal; color: rgb(33, 33, 33); text-align: left; word-wrap: break-word;" class="">
<a href="http://aka.ms/SafetyTipsFeedback" class="">Feedback</a></td>
</tr>
</tbody>
</table>
<div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif;" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Dear Clemens,</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">I have declared my function as "inline" and SaC now says about the inner "with loop" : "<span style="font-size: 12pt;" class="">Inner With-loop => no<span class="Apple-converted-space"> </span></span>cudarization<span style="font-size: 12pt;" class="">!".</span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class="">I suppose it means what it means, that the inner loop in a nested with loop setting can never be "cudarized" ? </span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""><br class="">
However, even the top level "with loop" cannot be "cudarized", still "B</span>ody<span style="font-size: 12pt;" class=""><span class="Apple-converted-space"> </span>of With-Loop to complex => no<span class="Apple-converted-space"> </span></span>cudarization<span style="font-size: 12pt;" class="">!"</span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Also, the inner loop calls a function too, which I've tried to inline, with no effect.</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Hopefully, since I've quite slowed down by this issue, the source code is very simple (attached).</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""></p>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;" class="">
Thank you for your assistance :-)</div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Best regards,</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Jonathan</div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""></span></p>
<div class=""><br class="">
</div>
<p style="margin-top: 0px; margin-bottom: 0px;" class=""></p>
</div>
<hr tabindex="-1" style="display: inline-block; width: 1425.890625px;" class="">
<div id="divRplyFwdMsg" dir="ltr" class=""><font face="Calibri, sans-serif" style="font-size: 11pt;" class=""><b class="">De :</b><span class="Apple-converted-space"> </span>Clemens Grelck <<a href="mailto:clemens.grelck@googlemail.com" class="">clemens.grelck@googlemail.com</a>>
 de la part de Clemens Grelck <<a href="mailto:c.grelck@uva.nl" class="">c.grelck@uva.nl</a>><br class="">
<b class="">Envoyé :</b><span class="Apple-converted-space"> </span>dimanche 18 mars 2018 22:30:07<br class="">
<b class="">À :</b><span class="Apple-converted-space"> </span>Meyer, Jonathan C;<span class="Apple-converted-space"> </span><a href="mailto:sac-user@sac-home.org" class="">sac-user@sac-home.org</a><br class="">
<b class="">Objet :</b><span class="Apple-converted-space"> </span>Re: [sac-user] SaC + cuda</font>
<div class=""> </div>
</div>
<div style="background-color: rgb(255, 255, 255);" class="">
<div class="x_moz-cite-prefix">Dear Jonathan,<br class="">
<br class="">
Welcome to the world of SAC.<br class="">
<br class="">
Have you declared your functions euler and relprime as "inline"?<br class="">
We don't have an inline heuristics, and the cuda backend does not<br class="">
like function calls in with-loop bodies.<br class="">
<br class="">
This goes as follows:<br class="">
  inline int foo( int a) { return a;}<br class="">
<br class="">
Apart from that it might indeed be useful to see your complete<span class="Apple-converted-space"> </span><br class="">
source code, assuming it's not exactly gigantic. ;-)<br class="">
<br class="">
Cheers,<br class="">
  Clemens<br class="">
<br class="">
<br class="">
On 3/18/18 12:21 AM, Meyer, Jonathan C wrote:<br class="">
</div>
<blockquote type="cite" class="">
<div id="x_divtagdefaultwrapper" dir="ltr" class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Dear all,</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">First, I am a total beginner to SaC and functional programming in general.</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class="">I would therefore greatly appreciate any help :)</span><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">I have managed to write some code that works fine using target "mt_pth", with working parallelization.</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">However, despite my desperate tries, SaC can't make it work on GPUs -> "<span style="font-size: 12pt;" class="">Body of With-Loop to complex => no<span class="Apple-converted-space"> </span></span>cudarization<span style="font-size: 12pt;" class="">!".</span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""><br class="">
</span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class="">The loops are : </span></div>
<blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class="">
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""></span></p>
<div class="">- [In main()]</div>
<div class="">a = with{</div>
<div class="">                ([0,0] <= [i,j] < [15,1000]) : euler(i*1000+j+1);</div>
<div class="">}:fold(+, 0);</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">- [In euler()]</div>
<div class="">
<div class="">a = with {</div>
<div class="">                ([1] <= [i] <= [n]) : relprime(n,i);</div>
</div>
</blockquote>
<blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class="">
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""></span></p>
<div class="">
<div class=""> }:fold(+, 0);</div>
</div>
<div class="">
<p style="margin-top: 0px; margin-bottom: 0px;" class=""><span style="font-size: 12pt;" class=""> </span></p>
</div>
</blockquote>
For reference, the goal is to compute the sum of totient in a given range of integers.
<div class="">If needed, I attached my source code.</div>
<div class=""><br class="">
</div>
<div class="">Thank you for your help !</div>
<div class=""><br class="">
</div>
<div class="">Best regards,</div>
<div class="">Jonathan</div>
</div>
<div align="center" class="">
<hr align="center" size="2" width="100%" class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;" class="">
<b class=""><i class="">Heriot-Watt University is The Times & The Sunday Times International University of the Year 2018</i></b><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;" class="">
Founded in 1821, Heriot-Watt is a leader in ideas and solutions. With campuses and students across the entire globe we span the world, delivering innovation and educational excellence in business, engineering, design and the physical, social and life sciences.<span class="Apple-converted-space"> </span><br class="">
</div>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;" class="">
This email is generated from the Heriot-Watt University Group, which includes:<br class="">
</div>
<ol class="">
<li class="x_fsize" style="font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;">
Heriot-Watt University, a Scottish charity registered under number SC000278</li><li class="x_fsize" style="font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;">
Edinburgh Business School a Charity Registered in Scotland, SC026900. Edinburgh Business School is a company limited by guarantee, registered in Scotland with registered number SC173556 and registered office at Heriot-Watt University Finance Office, Riccarton,
 Currie, Midlothian, EH14 4AS<span class="Apple-converted-space"> </span></li><li class="x_fsize" style="font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;">
Heriot- Watt Services Limited (Oriam), Scotland's national performance centre for sport. Heriot-Watt Services Limited is a private limited company registered is Scotland with registered number SC271030 and registered office at Research & Enterprise Services
 Heriot-Watt University, Riccarton, Edinburgh, EH14 4AS.<span class="Apple-converted-space"> </span></li></ol>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10px;" class="">
The contents (including any attachments) are confidential. If you are not the intended recipient of this e-mail, any disclosure, copying, distribution or use of its contents is strictly prohibited, and you should please notify the sender immediately and then
 delete it (including any attachments) from your system.</div>
<br class="">
<fieldset class="x_mimeAttachmentHeader"></fieldset><br class="">
<pre class="">_______________________________________________
sac-user mailing list
<a class="x_moz-txt-link-abbreviated" href="mailto:sac-user@sac-home.org">sac-user@sac-home.org</a>
<a class="x_moz-txt-link-freetext" href="http://lists.sac-home.org/mailman/listinfo/sac-user">http://lists.sac-home.org/mailman/listinfo/sac-user</a>
</pre>
</blockquote>
<br class="">
<br class="">
<pre class="x_moz-signature" cols="72">-- 
----------------------------------------------------------------------
Dr Clemens Grelck                                     Science Park 904
University Lecturer                                   1098XH Amsterdam
Programme Director Software Engineering                    Netherlands

University of Amsterdam
Institute for Informatics                        T +31 (0) 20 525 8683
System and Network Engineering Lab               F +31 (0) 20 525 7490

Office C3.109                             <a href="http://staff.fnwi.uva.nl/c.u.grelck" class="">staff.fnwi.uva.nl/c.u.grelck</a>
----------------------------------------------------------------------
</pre>
</div>
</div>
<span id="cid:970EF828-048C-430F-90E4-C683A3E4734D@macs.hw.ac.uk"><test2.sac></span><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">sac-user
 mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<a href="mailto:sac-user@sac-home.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">sac-user@sac-home.org</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<a href="http://lists.sac-home.org/mailman/listinfo/sac-user" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">http://lists.sac-home.org/mailman/listinfo/sac-user</a></div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>