【问题标题】:How to use the multicore option in vowpal wabbit如何在 vowpal wabbit 中使用多核选项
【发布时间】:2020-05-17 11:30:14
【问题描述】:

我在单台机器(8 核 Macbook pro)上运行 vowpal wabbit(ksvm 选项)。如何让它使用所有 8 个核心?

从 github 页面上的链接视频 (videolectures.net) 中,我看到有一个 --thread-bits 选项来控制线程数,但 vw --help 没有列出这个选项,所以我猜它不再存在最新版本。

使用 vowpal wobbit 的多核功能的正确方法是什么。我不想在多个节点上运行它,但我有兴趣在单台机器上使用多核功能。

【问题讨论】:

    标签: multicore vowpalwabbit


    【解决方案1】:

    vowpal-wabbit 是“多核”吗?

    只是部分。它默认使用 2 个内核(使用 C++ std::thread):

    • IO/解析线程:murmur-hash3 用于散列功能,fast-atof 用于解析数字,& parse-example
    • 学习线程(SGD 预测、估计错误和更新循环)

    这些都没有使示例看起来像实并行化那样乱序。数据示例全部按顺序处理,但在(短)并行管道中。

    禁用多线程(切换到单核):

    使用选项:--onethread

    因此,您的问题的总体答案是,目前的选项不允许您并行化超过 2 个内核。

    集群模式又名 all-reduce

    正如您所提到的,集群模式支持数据分区并在集群中的单独节点上处理每个部分。

    --thread-bits?

    Grepping(最新的)源代码,我找不到对--thread-bits的任何引用。

    【讨论】:

      猜你喜欢
      • 2015-09-27
      • 2015-03-29
      • 2013-10-15
      • 2015-03-24
      • 2018-01-20
      • 2017-11-22
      • 2016-09-21
      • 2014-08-07
      • 2013-04-07
      相关资源
      最近更新 更多