小编Mig*_*uel的帖子

Tensorflow新的Op CUDA内核内存管理

我已经使用GPU CUDA内核在Tensorflow中实现了一个相当复杂的新Op.这个Op需要大量动态内存分配变量,这些变量不是张量的,并且在op完成后被释放,更具体地说它涉及使用散列表.

现在我正在使用cudaMalloc(),cudaFree()但我注意到Tensorflow有自己的类型Eigen::GPUDevice,它具有在GPU上分配和释放内存的能力.

我的问题:

  1. Eigen::GPUDevice用于管理GPU内存是最佳做法;
  2. 通过使用Eigen::GPUDevice而不是CUDA API,我"自动"启用多GPU支持,因为不同的GPUDevices可以传递给Op;
  3. 我应该将这个想法扩展到CPU内核,看看是否有一种CPUDevice类型也管理内存而不是使用C++语法(即auto var = new int[100]; delete[] var)

gpu-programming tensorflow

6
推荐指数
1
解决办法
1078
查看次数

标签 统计

gpu-programming ×1

tensorflow ×1