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

symbol not found (probably due to devectorization) #10

Open
ronghongbo opened this issue Jan 18, 2022 · 0 comments
Open

symbol not found (probably due to devectorization) #10

ronghongbo opened this issue Jan 18, 2022 · 0 comments

Comments

@ronghongbo
Copy link
Collaborator

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant