You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@singa.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/08/13 07:50:45 UTC

[jira] [Commented] (SINGA-45) Set openblas num threads in job configuration

    [ 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)