Skip to content
This repository was archived by the owner on May 13, 2024. It is now read-only.
This repository was archived by the owner on May 13, 2024. It is now read-only.

symbol not found (probably due to devectorization) #10

@ronghongbo

Description

@ronghongbo

In t2s/tests/performance/gemm/gemm.cpp

  1. add another URE W(P)=matrixC(total_j, total_i), add another ImageParam matrixC.
  2. Z(P) = select(kkk == 0 && kk == 0 && k == 0, W(P), ...
    W.merge_ures(X, Y, Z, Out);
    W.set_bounds(...);
    W.space_time_transform(...);

Follow t2s/tests/performance/gemm/README to compile it on an FPGA emulator. We will see Internal Error at /home/u128292/t2sp/Halide/src/CodeGen_LLVM.cpp:1465 triggered by user code at : Symbol not found: W.s0.kkk

IR:

  .......
  Z.shreg.temp() = ... (float32)read_shift_reg("W.shreg", W.s0.jjj, W.s0.iii, W.s0.kkk) ...
  unrolled (W.s0.kkk, 0, 4) {... }

Note the operand 'read_shift_reg("W.shreg", W.s0.jjj, W.s0.iii, W.s0.kkk)' is before the kkk loop, but it refers to kkk. This looks like an issue with devectorization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions