You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@singa.apache.org by "wangwei (JIRA)" <ji...@apache.org> on 2015/08/19 08:13:46 UTC

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

     [ https://issues.apache.org/jira/browse/SINGA-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

wangwei resolved SINGA-45.
--------------------------
    Resolution: Fixed
      Assignee: wangwei

> 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
>            Assignee: 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)