JieGH opened a new issue, #17916:
URL: https://github.com/apache/tvm/issues/17916

   ### Expected behavior
   
   Previously, my TVM setup was working as expected. TVM 0.18 with LLVM 19.3 
   Now upgrading both projects to the latest version: TVM 0.20.0 with LLVM 
20.1.4, then ran the get started example code in 
`https://tvm.apache.org/docs/get_started/tutorials/quick_start.html`
   The code can not be executed with an error, In this code, the target is set 
as `target = tvm.target.Target("llvm  -mattr=+m,+a,+f,+d,+zfh,+v,+c 
-vector-width=256")`
   
   ```bash
   % python basic_tvm.py
   # from tvm.script import ir as I
   # from tvm.script import relax as R
   
   @I.ir_module
   class Module:
       @R.function
       def forward(x: R.Tensor((1, 784), dtype="float32"), fc1_weight: 
R.Tensor((256, 784), dtype="float32"), fc1_bias: R.Tensor((256,), 
dtype="float32"), fc2_weight: R.Tensor((10, 256), dtype="float32"), fc2_bias: 
R.Tensor((10,), dtype="float32")) -> R.Tensor((1, 10), dtype="float32"):
           R.func_attr({"num_input": 1})
           with R.dataflow():
               permute_dims: R.Tensor((784, 256), dtype="float32") = 
R.permute_dims(fc1_weight, axes=None)
               matmul: R.Tensor((1, 256), dtype="float32") = R.matmul(x, 
permute_dims, out_dtype="void")
               add: R.Tensor((1, 256), dtype="float32") = R.add(matmul, 
fc1_bias)
               relu: R.Tensor((1, 256), dtype="float32") = R.nn.relu(add)
               permute_dims1: R.Tensor((256, 10), dtype="float32") = 
R.permute_dims(fc2_weight, axes=None)
               matmul1: R.Tensor((1, 10), dtype="float32") = R.matmul(relu, 
permute_dims1, out_dtype="void")
               add1: R.Tensor((1, 10), dtype="float32") = R.add(matmul1, 
fc2_bias)
               gv: R.Tensor((1, 10), dtype="float32") = add1
               R.output(gv)
           return gv
   
   LLVM ERROR: Unimplemented reloc type: 55
   [1]    9142 abort (core dumped)  python basic_tvm.py
   ```
   
   # Can someone provide some insight on this? I am using near identical build 
command for LLVM and TVM from my previous environment with TVM 0.19.
   # Thank you
   
   
   
   ### Environment
   
   I am using the latest OS, TVM and LLVM.
   
   ```bash
   % llc --version
   LLVM (http://llvm.org/):
     LLVM version 20.1.4
     Optimized build with assertions.
     Default target: riscv64-linux-gnu
     Host CPU: generic-rv64
   
     Registered Targets:
       riscv32 - 32-bit RISC-V
       riscv64 - 64-bit RISC-V
   ```
   
   ```bash
    % python -c "import tvm; print('\n'.join(f'{k}: {v}' for k, v in 
tvm.support.libinfo().items()))"
   USE_NVTX: OFF
   USE_GTEST: AUTO
   SUMMARIZE: OFF
   TVM_DEBUG_WITH_ABI_CHANGE: OFF
   USE_IOS_RPC: OFF
   USE_MSC: OFF
   CUDA_VERSION: NOT-FOUND
   USE_LIBBACKTRACE: AUTO
   DLPACK_PATH: 3rdparty/dlpack/include
   USE_TENSORRT_CODEGEN: OFF
   USE_OPENCL_EXTN_QCOM: NOT-FOUND
   USE_THRUST: OFF
   BUILD_DUMMY_LIBTVM: OFF
   USE_CUDNN: OFF
   USE_TENSORRT_RUNTIME: OFF
   USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR: OFF
   USE_CCACHE: AUTO
   USE_ARM_COMPUTE_LIB: OFF
   USE_CPP_RTVM: OFF
   USE_OPENCL_GTEST: /path/to/opencl/gtest
   TVM_LOG_BEFORE_THROW: OFF
   USE_MKL: OFF
   MLIR_VERSION: NOT-FOUND
   USE_CLML: OFF
   USE_STACKVM_RUNTIME: OFF
   ROCM_PATH: /opt/rocm
   USE_DNNL: OFF
   USE_MSCCL: OFF
   USE_NNAPI_RUNTIME: OFF
   USE_MLIR: OFF
   USE_RCCL: OFF
   USE_LLVM: llvm-config --ignore-libllvm --link-static
   USE_THREADS: ON
   USE_MSVC_MT: OFF
   BACKTRACE_ON_SEGFAULT: OFF
   USE_ROCBLAS: OFF
   USE_NCCL: OFF
   GIT_COMMIT_HASH: 1c60502cfba5ca4ed948e07bf6c064426418187d
   USE_VULKAN: OFF
   USE_RUST_EXT: OFF
   USE_CUTLASS: OFF
   USE_CPP_RPC: OFF
   USE_HEXAGON: OFF
   USE_CUSTOM_LOGGING: OFF
   USE_UMA: OFF
   USE_FALLBACK_STL_MAP: OFF
   USE_SORT: ON
   USE_RTTI: ON
   GIT_COMMIT_TIME: 2025-04-12 08:36:42 -0400
   USE_HIPBLAS: OFF
   USE_HEXAGON_SDK: /path/to/sdk
   USE_BLAS: none
   USE_LIBTORCH: OFF
   USE_RANDOM: ON
   USE_CUDA: OFF
   USE_COREML: OFF
   USE_AMX: OFF
   BUILD_STATIC_RUNTIME: OFF
   USE_KHRONOS_SPIRV: OFF
   USE_CLML_GRAPH_EXECUTOR: OFF
   USE_TFLITE: OFF
   USE_HEXAGON_GTEST: /path/to/hexagon/gtest
   PICOJSON_PATH: 3rdparty/picojson
   USE_OPENCL_ENABLE_HOST_PTR: OFF
   INSTALL_DEV: OFF
   USE_NNPACK: OFF
   LLVM_VERSION: 20.1.4
   USE_MRVL: OFF
   USE_OPENCL: OFF
   COMPILER_RT_PATH: 3rdparty/compiler-rt
   USE_NNAPI_CODEGEN: OFF
   RANG_PATH: 3rdparty/rang/include
   USE_SPIRV_KHR_INTEGER_DOT_PRODUCT: OFF
   USE_OPENMP: none
   USE_BNNS: OFF
   USE_FLASHINFER: OFF
   USE_CUBLAS: OFF
   USE_METAL: OFF
   USE_HEXAGON_EXTERNAL_LIBS: OFF
   USE_ALTERNATIVE_LINKER: AUTO
   USE_BYODT_POSIT: OFF
   USE_NVSHMEM: OFF
   USE_HEXAGON_RPC: OFF
   DMLC_PATH: 3rdparty/dmlc-core/include
   INDEX_DEFAULT_I64: ON
   USE_RPC: ON
   USE_TENSORFLOW_PATH: none
   TVM_CLML_VERSION:
   USE_MIOPEN: OFF
   USE_ROCM: OFF
   USE_PAPI: OFF
   USE_CURAND: OFF
   TVM_CXX_COMPILER_PATH: /usr/bin/c++
   HIDE_PRIVATE_SYMBOLS: ON
   ```
   
   ```bash
   uname -a
   Linux k1 6.6.63 #2.2~rc3.2+20250415010736 SMP PREEMPT Mon Apr 14 19:44:05 
UTC 20 riscv64 riscv64 riscv64 GNU/Linux
   ```
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to