[llvm] [Offload][Conformance] Add randomized tests for double-precision math functions (PR #155003)
Leandro Lacerda via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 22 11:20:56 PDT 2025
leandrolcampos wrote:
**Randomized Test Results for Double-Precision Math Functions**
<table>
<thead>
<tr>
<th rowspan="2" align="left">Function</th>
<th rowspan="2" align="center">ULP Tolerance</th>
<th colspan="4" align="center">Max ULP Distance</th>
</tr>
<tr>
<th align="center">llvm-libm<br>(AMDGPU)</th>
<th align="center">llvm-libm<br>(CUDA)</th>
<th align="center">cuda-math<br>(CUDA)</th>
<th align="center">hip-math<br>(AMDGPU)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">acos</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center"><font color="red">5 (FAILED)</font></td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">asin</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center"><font color="red">6 (FAILED)</font></td>
<td align="center">2</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">cbrtf</td>
<td align="center">2</td>
<td align="center"></td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">cos</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">2</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">exp</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">exp10</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">exp2</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">expm1</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">hypot</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center">0</td>
<td align="center">2</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">log</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">log10</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">log1p</td>
<td align="center">2</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">log2</td>
<td align="center">3</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">sin</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">sincos (cos part)</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">2</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">sincos (sin part)</td>
<td align="center">4</td>
<td align="center"></td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"></td>
</tr>
<tr>
<td align="left">tan</td>
<td align="center">5</td>
<td align="center"></td>
<td align="center">2</td>
<td align="center">2</td>
<td align="center"></td>
</tr>
</tbody>
</table>
* ULP (Units in the Last Place) tolerances are based on _The Khronos Group, The OpenCL C Specification v3.0.19, Sec. 7.4, Table 68, Khronos Registry [July 10, 2025]_.
* The AMD GPU used for testing is the _gfx1030_.
* The NVIDIA GPU used for testing is the _NVIDIA GeForce RTX 4070 Laptop GPU_.
https://github.com/llvm/llvm-project/pull/155003
More information about the llvm-commits
mailing list