capybara-club / kernel_tools

Tools for kernel methods
Apache License 2.0
3 stars 0 forks source link

versions? #1

Open jonathanmei opened 2 days ago

jonathanmei commented 2 days ago

Hey there! This looks useful and I want to try it out, but I'm having a little trouble setting it up (undefined symbols). I'm wondering if you could offer some guidance on which versions of python, torch, and cuda you've used? Thanks!

capybara-club commented 2 days ago

Hello, happy to hear someone might use it!

I just did an install from a fresh venv and a decently fresh machine. My python version is 3.12.6 when i did the pip install it pulled in torch 2.4 and cuda 12.1 (I'm running the driver for cuda 12.6).

I'm curious which symbols might be undefined. Can you post the error message?

jonathanmei commented 1 day ago

Thanks for the quick response! I tried pip install . with python 3.12.5 in a fresh env, and it worked! It pulled torch 2.4.1 with cuda 12.1 (running 12.4, driver 550.90.07).

In case it's useful, I was using python 3.11.10 and tried torch 2.2.0 and 2.1.0 both with cuda 12.1, but in a envs with other packages installed. The pip install . ran fine, but then here's the error (both when importing and when JIT'ing):

ImportError: <envpath>/lib/python3.11/site-packages/kernel_tools_cpp_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZNK2at10TensorBase8data_ptrImEEPT_v
capybara-club commented 1 day ago

Interesting, it seems like this post is mentioning that PyTorch left out some templated parameter types (from 2021) https://stackoverflow.com/questions/67584843/pytorch-tensordata-ptrlong-long-not-working-on-linux. The Im I think is a 32 bit unsigned value in the mangled name for data_ptr. I might just go ahead and update the requirements.