Dear TVM Development Team,
I hope this email finds you well. I am currently trying to learn TVM using the d2l-tvm resource. However, since I don’t have a GPU on my local PC, I am attempting to work in a Google Colab environment. I’ve encountered several issues while setting this up, and I would greatly appreciate your guidance on how to resolve them or proceed with learning TVM effectively.
First Issue: Installation of TVM and TOPI Wheels
In the d2l-tvm guide, there’s a command to install specific wheels:
!pip install https://tvm-repo.s3-us-west-2.amazonaws.com/tvm-0.7.dev1-cp37-cp37m-linux_x86_64.whl https://tvm-repo.s3-us-west-2.amazonaws.com/topi-0.7.dev1-py3-none-any.whl
However, this fails due to a Python version mismatch. The wheels are built for Python 3.7, while Colab uses a newer version, making the installation impossible.
Second Issue: Using !pip install apache-tvm As an alternative, I tried installing TVM with !pip install apache-tvm. Unfortunately, this version does not support CUDA, and I also ran into version conflicts with numpy and ml_dtypes. Additionally, when I tried importing d2ltvm, I encountered the following errors:
Apr 8, 2025, 3:19:29 PM WARNING 0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
Apr 8, 2025, 3:19:29 PM WARNING 0.00s - to python to disable frozen modules.
Apr 8, 2025, 3:19:29 PM WARNING 0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
Apr 8, 2025, 3:19:29 PM WARNING 0.00s - Debugger warning: It seems that frozen modules are being used, which may
Apr 8, 2025, 3:19:28 PM WARNING WARNING:root:kernel 5736a882-6d24-4e47-b660-815f4cf33aff restarted
Apr 8, 2025, 3:19:28 PM INFO KernelRestarter: restarting kernel (1/5), keep random ports
Apr 8, 2025, 3:19:27 PM WARNING free(): invalid size
These errors seem to indicate compatibility issues, possibly tied to the Python version or conflicting modules.
Third Issue: Building TVM from Source
Following the official TVM installation guide, I attempted to build TVM from source with CUDA enabled. However, after completing the build, I received an error stating that the relay module does not exist. I’m unsure if TVM has shifted from using relay to relax, and if so, whether this impacts my ability to use d2l-tvm materials, which might rely on relay.
Overall Concern
My main goal is to learn the basic concepts of TVM using d2l-tvm in a Colab environment. However, due to these issues, I’m wondering if d2l-tvm is still compatible with the current version of TVM, especially in Colab. If it’s no longer feasible to use d2l-tvm in this setup, could you recommend an alternative approach to learning TVM? For example, would following the official TVM documentation be a better way to get started?
I’d be very grateful for any advice or solutions you can provide to help me overcome these challenges. Thank you for your time and support!
Best regards,