singa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SINGA-45) Set openblas num threads in job configuration
Date Thu, 13 Aug 2015 05:50:45 GMT

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

Mime
View raw message