Open dathudeptrai opened 3 years ago
Could you be a bit more specific what you mean? Support in which way? How would that make sense in combination with PyTorch, TensorFlow, JAX?
Using cuda_array_interface torch, cupy and jax are working with numba on cuda.jit nativly u just pass torch.cuda or jax.cuda tensor to them.
TF didn't have that but have https://www.tensorflow.org/api_docs/python/tf/experimental/dlpack/from_dlpack so u can add it pretty easy
Oh, now I understand what you mean. Yes, I am aware of dlpack
and cuda_array_interface
and they are both very interesting. Right now there is no need for them in EagerPy, because they are for exchanging tensors between different frameworks and EagerPy is rather about writing code that works with each framework (but that doesn't combine different frameworks).
If there is a good use case, it might be worth considering how we can add this explicitly. In a way it's already possible to use, because EagerPy tensors are really just wrapped tensors from the individual frameworks.
If your question is specifically about whether you can use EagerPy tensors with numba, then I guess the answer is the same: EagerPy tensors are really just wrapped tensors and you can at any time get the raw tensor and then its cuda_array_interface
.
If you are asking for something else, please provide a specific example of code that you would want to be supported.
Dunno what OP wants from cuda.jit but its pretty neat function to have working python cuda code with gpu arrays, u can convert almost any function write to work on cpu to gpu without any overhead specialy good for some sort of search for big arrays (for example glowtts). You don't need to add custom interface probably just add dlpack handler to tf tensor will be enough.
will this lib support tensorflow tensor work with cuda.jit (from numba).