Hello World
Here is a simple example of how Thunder lets you compile and run PyTorch modules and functions:
import torch
import thunder
def foo(a, b):
return a + b
jitted_foo = thunder.jit(foo)
a = torch.full((2, 2), 1)
b = torch.full((2, 2), 3)
result = jitted_foo(a, b)
print(result)
# prints
# tensor(
# [[4, 4],
# [4, 4]])The compiled function jitted_foo takes and returns PyTorch tensors, just like the original function, so modules and functions compiled by Thunder can be used as part of bigger PyTorch programs.
Thunder currently understands a subset of PyTorch operations, and a subset of Python. It's adding support quickly, however. Reach out on the Thunder repo and open an issue there to easily get help if an operator is currently not supported.
Was this page helpful?
Thanks for the feedback.