[
https://issues.apache.org/jira/browse/SINGA-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14694742#comment-14694742
]
ASF subversion and git services commented on SINGA-45:
------------------------------------------------------
Commit 2da5e23e6d5f5a5728243d8ece4c4d48dc28db29 in incubator-singa's branch
refs/heads/master from Wei Wang
[ https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;h=2da5e23 ]
SINGA-45 Set openblas num threads in job configuration
Add a configuration field (openblas_num_threads) in JobProto which specifies
the num of threads used by openblas, default to 1.
If multiple workers/servers are launched in one process, this field must be set
to 1 (according to openblas wiki page).
> Set openblas num threads in job configuration
> ---------------------------------------------
>
> Key: SINGA-45
> URL: https://issues.apache.org/jira/browse/SINGA-45
> Project: Singa
> Issue Type: New Feature
> Reporter: wangwei
>
> SINGA uses OpenBlas to do time consuming operations like matrix
> multiplications.
> According to [OpenBlas's
> documentation|https://github.com/xianyi/OpenBLAS/wiki/faq#multi-threaded], if
> multiple worker threads are launched within one process, we should set
> OpenBlas to use single thread.
> This can be done by adding a job configuration field, e.g.,
> openblas_num_thread, and calling openblas_set_num_threads() in the dirver
> (main.cc) program.
> If users do not set this field, SINGA should set it to 1 if there are
> multiple worker threads within one SINGA process. If there is only one worker
> thread, then let OpenBlas use as many threads (cores) as possible.
> In practice, better performance is achieved by launching n workers (each
> assigned 1/n images) than using OpenBlas with n threads. Because OpenBlas
> only parallelize a subset of operations. n workers can run in fully parallel.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)