From_dlpack + ctypes

I’m planning to have a plain C library that would return struct DLManagedTensor instances. I interface with it in Python with ctypes.

How would it be possible to use from_dlpack(...) on such ctypes DLManagedTensor objects? How do I construct a “PyCapsule” from such a ctypes object? Should I use ctypes.pythonapi.PyCapsule_New? Would there be any memory leaks of the capsule object themselves?


Yes, it seems that I would need to create the capsule manually. I found the CuPy support PR: that does something similar on CuPy side

Do I understand correctly that PyTorch + DLPack implicitly assume Little Endian?

I made an example of reading audio with ffmpg in C (deallocation is also done in C), calling it from Python, and reading it into a PyTorch tensor via DLPack:

A simpler example of just demonstating my DLPack Python / NumPy bindings:

Managing memory is not very sure, as I’m not very confident about NumPy / Python array / object lifecycle. If you take a look or find problems, feel free to drop into GitHub issues!