Concisely describe the proposed feature
Currently, the autodiff system only supports Taichi field. However, there are some limitations of field such as the number of snode trees is limited which blocks the scalability of the applications. While Ndarray is a container that has more flexibility and is currently supported by multiple backends of Taichi. Support autodiff for Ndarray will broad the application of the autodiff system.
Describe the solution you'd like (if any)
Add grad for ndarray (include an adjoint array etc. )
Include ExternalPtrStmt in source code transformation of autodiff.
It seems that the taichi-nerfs codebase is already using some sort of autodiff for ndarray. Does that imply that this functionality is already working in the nightly version?
Concisely describe the proposed feature Currently, the autodiff system only supports Taichi field. However, there are some limitations of field such as the number of snode trees is limited which blocks the scalability of the applications. While
Ndarray
is a container that has more flexibility and is currently supported by multiple backends of Taichi. Support autodiff forNdarray
will broad the application of the autodiff system.Describe the solution you'd like (if any)
grad
for ndarray (include an adjoint array etc. )ExternalPtrStmt
in source code transformation of autodiff.