#ifndef LIETORCH_GPU_H_ #define LIETORCH_GPU_H_ #include #include #include #include // unary operations torch::Tensor exp_forward_gpu(int, torch::Tensor); std::vector exp_backward_gpu(int, torch::Tensor, torch::Tensor); torch::Tensor log_forward_gpu(int, torch::Tensor); std::vector log_backward_gpu(int, torch::Tensor, torch::Tensor); torch::Tensor inv_forward_gpu(int, torch::Tensor); std::vector inv_backward_gpu(int, torch::Tensor, torch::Tensor); // binary operations torch::Tensor mul_forward_gpu(int, torch::Tensor, torch::Tensor); std::vector mul_backward_gpu(int, torch::Tensor, torch::Tensor, torch::Tensor); torch::Tensor adj_forward_gpu(int, torch::Tensor, torch::Tensor); std::vector adj_backward_gpu(int, torch::Tensor, torch::Tensor, torch::Tensor); torch::Tensor adjT_forward_gpu(int, torch::Tensor, torch::Tensor); std::vector adjT_backward_gpu(int, torch::Tensor, torch::Tensor, torch::Tensor); torch::Tensor act_forward_gpu(int, torch::Tensor, torch::Tensor); std::vector act_backward_gpu(int, torch::Tensor, torch::Tensor, torch::Tensor); torch::Tensor act4_forward_gpu(int, torch::Tensor, torch::Tensor); std::vector act4_backward_gpu(int, torch::Tensor, torch::Tensor, torch::Tensor); // conversion operations // std::vector to_vec_backward_gpu(int, torch::Tensor, torch::Tensor); // std::vector from_vec_backward_gpu(int, torch::Tensor, torch::Tensor); // utility operators torch::Tensor orthogonal_projector_gpu(int, torch::Tensor); torch::Tensor as_matrix_forward_gpu(int, torch::Tensor); torch::Tensor jleft_forward_gpu(int, torch::Tensor, torch::Tensor); #endif