Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regtile error #3

Open
brnorris03 opened this issue Apr 28, 2014 · 0 comments
Open

Regtile error #3

brnorris03 opened this issue Apr 28, 2014 · 0 comments
Labels

Comments

@brnorris03
Copy link
Owner

[Pluto] Output written to matmul.tiled.c
[Plorc] Found unroll-jammable nest
/Volumes/Storage/FirefoxCompile/gcc/pluto_sica_my/Orio/orio/module/loop/ast_lib/forloop_lib.py:5: DeprecationWarning: the sets module is deprecated
import sets, sys
ERROR: orio.module.loop.submodule.regtile.regtile: 16: failed to evaluate the argument expression: ['t7','t8']
--> TypeError: globals must be a dict

Input file matmul.tiled.c:

#include <math.h>
#define ceild(n,d)  ceil(((double)(n))/((double)(d)))
#define floord(n,d) floor(((double)(n))/((double)(d)))
#define max(x,y)    ((x) > (y)? (x) : (y))
#define min(x,y)    ((x) < (y)? (x) : (y))

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <assert.h>

#define M 1024
#define N 1024
#define K 1024
#define alpha 1
#define beta 1

#pragma declarations
double A[M][K];
double B[K][N];
double C[M][N];
#pragma enddeclarations

#ifdef PERFCTR
#include "papiStdEventDefs.h"
#include <papi.h>
#include "papi_defs.h"
#endif

#include "util.h"

double t_start, t_end;

int main()
{
    int i, j, k;

    init_array();

#ifdef PERFCTR
    PERF_INIT; 
#endif

    IF_TIME(t_start = rtclock());

{
  int t1, t2, t3, t4, t5, t6, t7, t7t, newlb_t7, newub_t7, t8, t8t, newlb_t8, newub_t8, t9;
 register int lbv, ubv;
/* Start of CLooG code */
if ((K >= 1) && (M >= 1) && (N >= 1)) {
  for (t1=0;t1<=floord(M-1,128);t1++) {
    for (t2=0;t2<=floord(N-1,256);t2++) {
      for (t3=0;t3<=floord(K-1,128);t3++) {
        for (t4=16*t1;t4<=min(floord(M-1,8),16*t1+15);t4++) {
          for (t5=2*t2;t5<=min(floord(N-1,128),2*t2+1);t5++) {
            for (t6=16*t3;t6<=min(floord(K-1,8),16*t3+15);t6++) {
/*@ begin Loop(
    transform RegTile(loops=['t7','t8'], ufactors=[8,8])
              for (t7=8*t4;t7<=min(M-1,8*t4+7);t7++) 
                for (t8=8*t6;t8<=min(K-1,8*t6+7);t8++) 
{
                  lbv=128*t5;
                  ubv=min(N-1,128*t5+127);


                  #pragma simd
                  #pragma vector aligned
                  for (t9=lbv;t9<=ubv;t9++) {
                    S1(t3,t2,t1,t6,t5,t4,t7,t9,t8);
                  }
}
) @*/
              for (t7=8*t4;t7<=min(M-1,8*t4+7);t7++) {
                for (t8=8*t6;t8<=min(K-1,8*t6+7);t8++) {
                  lbv=128*t5;
                  ubv=min(N-1,128*t5+127);
#pragma ivdep
#pragma vector always
#pragma simd
#pragma vector aligned
                  for (t9=lbv;t9<=ubv;t9++) {
                    C[t7][t9] = beta*C[t7][t9] + alpha*A[t7][t8] * B[t8][t9];;
                  }
                }
              }
/*@ end @*/
            }
          }
        }
      }
    }
  }
}
/* End of CLooG code */
}

    IF_TIME(t_end = rtclock());
    IF_TIME(fprintf(stdout, "%0.6lfs\n", t_end - t_start));

#ifdef PERFCTR
    PERF_EXIT; 
#endif

  if (fopen(".test", "r")) {
#ifdef MPI
      if (my_rank == 0) {
          print_array();
      }
#else
          print_array();
#endif
  }

  return 0;
}
@brnorris03 brnorris03 added the bug label Apr 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant