Displaying 4 results from an estimated 4 matches for "_pb_ni".
Did you mean:
_pb_nj
2018 Mar 14
2
LLVM opt unable to vectorize PolyBench code
Hello,
I m unable to vectorize following kernel by opt tool;
for (i = 0; i < _PB_NI; i++)
for (j = 0; j < _PB_NJ; j++)
{
tmp[i][j] = 0;
for (k = 0; k < _PB_NK; ++k)
tmp[i][j] += alpha * A[i][k] * B[k][j];
}
for (i = 0; i < _PB_NI; i++)
for (j = 0; j < _PB_NL; j++)
{
D[i][j] *= beta;
for (k = 0; k < _PB_NJ; ++k)...
2018 Mar 14
0
LLVM opt unable to vectorize PolyBench code
...ent the IR you're giving to opt or at least a
complete C function and your clang command line.
~Craig
On Wed, Mar 14, 2018 at 3:05 PM, hameeza ahmed <hahmed2305 at gmail.com> wrote:
> Hello,
>
> I m unable to vectorize following kernel by opt tool;
>
> for (i = 0; i < _PB_NI; i++)
> for (j = 0; j < _PB_NJ; j++)
> {
> tmp[i][j] = 0;
> for (k = 0; k < _PB_NK; ++k)
> tmp[i][j] += alpha * A[i][k] * B[k][j];
> }
> for (i = 0; i < _PB_NI; i++)
> for (j = 0; j < _PB_NL; j++)
> {
> D[i][j]...
2016 Oct 10
2
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
...bench/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++)
{
acc = 0;
for (k = 0; k < j - 1; k++)
{
C[k][j] += alpha * A[k][i] * B[i][j];
acc += B[k][j] * A[k][i];
}
C[i][j] = beta * C[i][j] + alpha * A[i][i] * B[i][j] + alpha * acc;...
2016 Oct 11
3
[test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"
...gt;> 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++)
>> {
>> acc = 0;
>> for (k = 0; k < j - 1; k++)
>> {
>> C[k][j] += alpha * A[k][i] * B[i][j];
>> acc += B[k][j] * A[k][i];
>> }
>>...