我目前正在阅读Tensorflow源代码,并对内核的实现感到好奇。我发现大多数gpu实现都指向了Eigen。谁能告诉我tensorflow如何通过Eigen或其他方式使用cuDNN?
是的,大多数基本内核使用Eigen,它使用普通的CUDA。使用cuDNN的内核(例如卷积)经历了这种集成:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/stream_executor/cuda
这是一个示例Conv内核,retrieves支持Conv算法(包括cuDNN,如果它是链接和可用的),运行和chooses the best one,最后,uses它。