Displaying 4 results from an estimated 4 matches for "c_strictfp".
2016 Oct 11
3
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
...100644
--- a/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/symm.c
+++ b/SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/symm.c
@@ -35,12 +35,12 @@ void init_array(int ni, int nj,
*beta = 2123;
for (i = 0; i < ni; i++)
for (j = 0; j < nj; j++) {
- C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i*j) / ni;
- B[i][j] = ((DATA_TYPE) i*j) / ni;
+ C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i-j) / ni;
+ B[i][j] = ((DATA_TYPE) i-j) / ni;
}
for (i = 0; i < nj; i++)
for (j = 0; j < nj; j++)
- A[i][j] = ((DATA_TYPE) i*j) / ni;
+...
2016 Oct 12
3
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
...gt;> 3. Change the matrix to something that will make the test
> >> numerically stable (it does not look like the matrix itself
> >> matters to the performance; where do the values come from?).
>
> 3 is more sound, 2 may be more practical.
>
>
> > - C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i*j) / ni;
> > - B[i][j] = ((DATA_TYPE) i*j) / ni;
> > + C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i-j) / ni;
> > + B[i][j] = ((DATA_TYPE) i-j) / ni;
> > }
> > for (i = 0; i < nj; i++)
> > for (j = 0;...
2016 Oct 12
4
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
...make the test
>>> >> numerically stable (it does not look like the matrix itself
>>> >> matters to the performance; where do the values come from?).
>>>
>>> 3 is more sound, 2 may be more practical.
>>>
>>>
>>> > - C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i*j) / ni;
>>> > - B[i][j] = ((DATA_TYPE) i*j) / ni;
>>> > + C_StrictFP[i][j] = C[i][j] = ((DATA_TYPE) i-j) / ni;
>>> > + B[i][j] = ((DATA_TYPE) i-j) / ni;
>>> > }
>>> > for (i = 0; i &...
2016 Oct 10
2
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
Hi,
I would need some help to fix polybench/symm:
void kernel_symm(int ni, int nj,
DATA_TYPE alpha,
DATA_TYPE beta,
DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj),
DATA_TYPE POLYBENCH_2D(A,NJ,NJ,nj,nj),
DATA_TYPE POLYBENCH_2D(B,NI,NJ,ni,nj))
{
int i, j, k;
DATA_TYPE acc;
/* C := alpha*A*B + beta*C, A is symetric */
for (i = 0; i < _PB_NI; i++)
for (j = 0; j < _PB_NJ; j++)
{