使用多个GPU与C ++ cntk

时间:2018-03-06 19:04:51

标签: c++ cntk

我试图逐渐从brainscript转移到cntk的C ++界面。完全缺乏文档并没有帮助。我的最新项目是multi-gpu培训。这是单GPU培训的一个例子。进行多gpu培训的最佳策略是什么?是否存在python data_parallel_distributed_learner的c ++等价物? (或其他并行化方法)或者您必须自己在低级别编码(数据选择,模型参数组合等)。这如何与MPI一起使用?线程/ OpenMP是评估的选项(在任何情况下如何选择GPU /组合分布式模型)。

1 个答案:

答案 0 :(得分:0)

Python API主要遵循C ++ API。因此,如果您了解如何使用Python在多个GPU上进行训练,那么C ++就是Python的直接翻译。对于分布式培训,您将需要 CreateDataParallelDistributedLearner,并指定MinibatchSource构造函数中的工作者数量,并确保每个工作者读取数据的不同部分,这可以通过workerRank GetNextMinibatch参数来完成。 1}}。与Python一样,您将需要一个MPI实现并使用mpirun调用您的C ++程序。