| 54 | } |
| 55 | |
| 56 | PD_List PD_KernelContextMultiInputAt(PD_KernelContext* ctx, size_t index) { |
| 57 | auto kernel_context = reinterpret_cast<phi::KernelContext*>(ctx); |
| 58 | const std::pair<int, int>& range = kernel_context->InputRangeAt(index); |
| 59 | auto tensor_vec = kernel_context->InputsBetween<phi::DenseTensor>( |
| 60 | range.first, range.second); |
| 61 | PD_List list; |
| 62 | list.size = tensor_vec.size(); |
| 63 | list.data = new void*[list.size]; |
| 64 | for (size_t i = 0; i < list.size; ++i) { |
| 65 | (reinterpret_cast<void**>(list.data))[i] = |
| 66 | reinterpret_cast<void*>(const_cast<phi::DenseTensor*>(tensor_vec[i])); |
| 67 | } |
| 68 | return list; |
| 69 | } |
| 70 | |
| 71 | PD_Tensor* PD_KernelContextOutputAt(PD_KernelContext* ctx, size_t index) { |
| 72 | auto kernel_context = reinterpret_cast<phi::KernelContext*>(ctx); |