-
Notifications
You must be signed in to change notification settings - Fork 62
Description
It would be great if py-pde could also support additional backends for just-in-time compilation, e.g., jax or pytorch. Ideally, any of these packages (including numba) would be optionally, so we need to restructure our jit-implementation substantially. We could have general methods make_* that accept a backend argument, which then dispatches the call to a function in a special module (residing in a backends sub-package?). This would need to take place in multiple packages (pdes, grids, operators, boundaries, fields, ...), and we might need to consider inheritance and how we would like to deal with this in the implementations.
Taken together, this is a larger re-factoring, but it might be worthwhile to ensure py-pde stays relevant in the future.