UCLA-VAST / AutoSA

AutoSA: Polyhedral-Based Systolic Array Compiler
MIT License
191 stars 31 forks source link

[AutoSA] Error: Single outermost permutable band not found. #2

Closed hecmay closed 3 years ago

hecmay commented 3 years ago

Input kernel C program:

int main(int argc, char **argv) {
  int W[64][64], X[64][64], Y[64][64];
  #pragma scop
      for (int x = 0; x < 64; ++x) {
        for (int y = 0; y < 64; ++y) {
          int sum = 0;
          for (int k = 0; k < 64; ++k) {
            sum = ((W[x][k] * X[k][y]) + sum);
          }
          Y[x][y] = sum;
        }
      }
  #pragma endscop
}
root@883e5b3a54f8:/usr/src/docker_autosa# ./autosa /usr/src/heterocl/tests/hcl_autosa_tmp.c --config=./autosa_config/autosa_config.json --target=autosa_hls_c --output-dir=./autosa.tmp/output --sa-sizes="{kernel[]->space_time[3];kernel[]->array_part[16,16,16];kernel[]->latency[8,8];kernel[]->simd[2]}" --simd-info=./autosa_tests/mm/simd_info.json --host-serialize
terminate called after throwing an instance of 'std::runtime_error'
  what():  [AutoSA] Error: Single outermost permutable band not found.