【问题标题】:Using Multiple GPUs with C++ cntk在 C++ cntk 中使用多个 GPU
【发布时间】:2018-03-06 19:04:51
【问题描述】:

我正在尝试逐步从 Brainscript 转移到 cntk 的 C++ 接口。完全缺乏文档并没有帮助。我最新的项目是多 GPU 训练。有一个单 GPU 训练的例子。进行多 GPU 训练的最佳策略是什么。是否有与 python data_parallel_distributed_learner 等效的 c++? (或其他并行化方法)还是您必须自己在低级别(数据选择、模型参数组合等)编写代码。这如何与 MPI 一起工作?线程/OpenMP 是否与评估一样是一个选项(在这种情况下如何选择 GPU/组合分布式模型)。

【问题讨论】:

    标签: c++ cntk


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 2020-07-26
      • 2012-01-12
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      相关资源
      最近更新 更多