Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ TensorFlow定制Op在单独的流中启动CUDA内核_C++_Tensorflow - Fatal编程技术网

C++ TensorFlow定制Op在单独的流中启动CUDA内核

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

我已经写了一个自定义的TensorFlow运算,它看起来有点像矩阵乘法。它接受一个具有形状(n,p)的张量X和另一个具有形状(m,p)的张量Y,并输出一个具有形状(n,m)的结果张量Z

我已经成功地在CUDA中编写了正向过程,但在反向过程中,我需要同时计算dX和dY。dX和dY的计算是完全独立的,因此我想启动一个内核来计算dX,另一个用于dY,这样它们就可以并行运行

我在代码中找到的获取流的唯一方法是
constcudastream\u t&cu\u stream=GetCudaStream(ctx)。那么,我如何确保这些梯度是在并行流中完成的,而不是在串行流中完成的呢?我想同样的问题也会出现在矩阵乘法中,但我不知道如何处理它