-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom propagate
is not taken into account by the jit compiler in PyG 2.5.0 and 2.5.1
#9077
Comments
propagate
is not taken into account by the jit compiler in PyG 2.5.1propagate
is not taken into account by the jit compiler in PyG 2.5.0 and 2.5.1
Mh, thanks for bringing this up. Can you do me a favor and check if #9079 resolves your issues? |
Yes, that fixes the jit issue! The downside is that the inference is still 2x slower than in 2.4, with minimal changes to the code (replacing #9079 branch: Perhaps there are other moving parts involved into that and updated in the newer version, hard to say more without profiling |
Can you share some information on how I can benchmark this? |
Sure, I created the From there, I run this:
and look at the tqdm stats |
Thanks. Will try to reproduce, and create PyG 2.5.3 afterwards. |
Thanks. I looked into this. I cannot spot any performance degradation within
|
Ah the default batch size in the |
Mh, for me both models take equally long to run (relation_model around 0.16s and entity_model around 3.51s), and |
Can you double check on your end? What does
return for you in both versions? |
🙏 |
🐛 Describe the bug
Setup: running ULTRA and, in particular, the Generalized Relational Convolution with a custom
rspmm
cuda/cpu kernel works flawlessly with PyTorch 2.1 and PyG 2.4.Updating the env to torch 2.2.1 and PyG 2.5.0 / 2.5.1 results in the JIT compilation not taking into account the custom
propagate
function implemented in the layer. I see the compiled layer file in~/.cache/pyg/message_passing/
generated from the originalpropagate
function fromMessagePassing
and it never invokes the custompropagate
function.With that, a lot of other errors arise, such that missing
index
anddim_size
kwargs for the aggregate function that are originally collected byself._collect
.Besides, even after explicitly defining all the necessary kwargs in the
self.propagate
call, the inference time on a standard fb15k237 dataset increases from 3 sec to 180 sec (on M2 Max laptop) 📉 . I was wondering about a few questions therefore:propagate
function in the layer?Thanks for looking into that!
P.S. PyG 2.5.0 compiles layers into
~/.cache/pyg/message_passing
while 2.5.1 compiles into/var/folder/<some_gibberish>
- is it ok?Versions
The text was updated successfully, but these errors were encountered: