Skip to content

Commit 87d31af

Browse files
authored
Add openblas_set_num_threads_local()
1 parent 2e2e538 commit 87d31af

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

driver/others/blas_server_omp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969

7070
int blas_server_avail = 0;
7171
int blas_omp_number_max = 0;
72+
int blas_omp_threads_local = 1;
7273

7374
extern int openblas_omp_adaptive_env(void);
7475

driver/others/openblas_set_num_threads.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,20 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3636
#ifdef SMP_SERVER
3737

3838
extern void openblas_set_num_threads(int num_threads) ;
39+
extern int openblas_get_num_threads(void) ;
3940

4041
void openblas_set_num_threads_(int* num_threads){
4142
openblas_set_num_threads(*num_threads);
4243
}
4344

45+
int openblas_set_num_threads_local(int num_threads){
46+
int ret = openblas_get_num_threads();
47+
openblas_set_num_threads(num_threads);
48+
blas_omp_threads_local=num_threads;
49+
return ret;
50+
}
51+
52+
4453
#else
4554
//Single thread
4655

@@ -50,4 +59,8 @@ void openblas_set_num_threads(int num_threads) {
5059
void openblas_set_num_threads_(int* num_threads){
5160

5261
}
62+
63+
int openblas_set_num_threads_local(int num_threads){
64+
return 1;
65+
}
5366
#endif

0 commit comments

Comments
 (0)