<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
The compiler always assumes IEEE mode is enabled for compute kernels. I'm not sure if the driver respects that or not.</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Jeroen Ketema <j.ketema@xs4all.nl><br>
<b>Sent:</b> Thursday, November 16, 2017 4:46:12 PM<br>
<b>To:</b> Jan Vesely<br>
<b>Cc:</b> Arsenault, Matthew; libclc-dev@lists.llvm.org<br>
<b>Subject:</b> Re: [Libclc-dev] [PATCH 1/2] amdgcn/fmin: Explicitly check for NaNs</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:10pt;">
<div class="PlainText">If I’m not mistaken these all change sNaNs into qNaNs. Looking at [1], this seems reminiscent of ieee_mode. Are you sure the chip is correctly set up before the kernels are run? In particular, the IEEE bit (bit 9) of the Mode Register?<br>
<br>
Jeroen<br>
<br>
[1] <a href="http://developer.amd.com/wordpress/media/2013/07/AMD_Sea_Islands_Instruction_Set_Architecture1.pdf">
http://developer.amd.com/wordpress/media/2013/07/AMD_Sea_Islands_Instruction_Set_Architecture1.pdf</a><br>
<br>
> On 15 Nov 2017, at 22:16, Jan Vesely via Libclc-dev <libclc-dev@lists.llvm.org> wrote:<br>
> <br>
> On Wed, 2017-11-15 at 11:43 -0800, Matt Arsenault via Libclc-dev wrote:<br>
>> On 11/15/2017 09:21 AM, Jan Vesely via Libclc-dev wrote:<br>
>>> v_min instruction fails to handle certain NaNs correctly.<br>
>>> <br>
>>> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu><br>
>>> ---<br>
>>> Fixes most of fmin CTS on carrizo. It still fails on denormals, but IMO<br>
>>> that's CTS bug.<br>
>>> EG/NI does not seem to suffer the same problem.<br>
>> <br>
>> What exact problem are you trying to solve? Do you have an example? NaNs <br>
>> should work correctly.<br>
> <br>
> they don't.<br>
> some nan encodings return incorrect value.<br>
> examples from CTS:<br>
> ERROR: fmin: -nan ulp error at {0x1.211a92p-95 (0x10108d49), -nan (0xffa66c5d)}: *0x1.211a92p-95 vs. -nan (0xffe66c5d) at index: 448<br>
> <br>
> ERROR: fmin: nan ulp error at {nan (0x7fba759e), 0x1.94ea58p-89 (0x134a752c)}: *0x1.94ea58p-89 vs. nan (0x7ffa759e) at index: 450<br>
> <br>
> ERROR: fmin: nan ulp error at {nan (0x7f9a4655), -0x1.9ed39p-22 (0xb4cf69c8)}: *-0x1.9ed39p-22 vs. nan (0x7fda4655) at index: 617<br>
> <br>
> ERROR: fmin: nan ulp error at {0x1.303c36p+46 (0x56981e1b), nan (0x7fa7afae)}: *0x1.303c36p+46 vs. nan (0x7fe7afae) at index: 739<br>
> <br>
> it only shows 4 errors because it used 4 testing threads, there might be more.<br>
> tested on carrizo (fx9800p).<br>
> <br>
> Jan<br>
> <br>
> <br>
>> We do have some issues with denorm flushing <br>
>> behavior changing on gfx9.<br>
>> _______________________________________________<br>
>> Libclc-dev mailing list<br>
>> Libclc-dev@lists.llvm.org<br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev</a><br>
> _______________________________________________<br>
> Libclc-dev mailing list<br>
> Libclc-dev@lists.llvm.org<br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev</a><br>
<br>
</div>
</span></font></div>
</body>
</html>