C++ TensorFlow定制Op在单独的流中启动CUDA内核
我已经写了一个自定义的TensorFlow运算,它看起来有点像矩阵乘法。它接受一个具有形状(n,p)的张量X和另一个具有形状(m,p)的张量Y,并输出一个具有形状(n,m)的结果张量Z 我已经成功地在CUDA中编写了正向过程,但在反向过程中,我需要同时计算dX和dY。dX和dY的计算是完全独立的,因此我想启动一个内核来计算dX,另一个用于dY,这样它们就可以并行运行 我在代码中找到的获取流的唯一方法是C++ TensorFlow定制Op在单独的流中启动CUDA内核,c++,tensorflow,C++,Tensorflow,我已经写了一个自定义的TensorFlow运算,它看起来有点像矩阵乘法。它接受一个具有形状(n,p)的张量X和另一个具有形状(m,p)的张量Y,并输出一个具有形状(n,m)的结果张量Z 我已经成功地在CUDA中编写了正向过程,但在反向过程中,我需要同时计算dX和dY。dX和dY的计算是完全独立的,因此我想启动一个内核来计算dX,另一个用于dY,这样它们就可以并行运行 我在代码中找到的获取流的唯一方法是constcudastream\u t&cu\u stream=GetCudaStream(ct
constcudastream\u t&cu\u stream=GetCudaStream(ctx)代码>。那么,我如何确保这些梯度是在并行流中完成的,而不是在串行流中完成的呢?我想同样的问题也会出现在矩阵乘法中,但我不知道如何处理它