@@ -128,32 +128,21 @@ DAAL_EXPORT daal::services::Environment::Environment(const Environment & e) : da
128
128
/* This functionality has been moved to oneDAL side*/
129
129
DAAL_EXPORT void daal::services::Environment::initNumberOfThreads ()
130
130
{
131
- if (externalThreadingControl)
132
- {
133
- if (!isInit)
134
- {
135
- daal::services::Environment::setNumberOfThreads (_daal_threader_get_max_threads ());
136
- isInit = true ;
137
- }
138
- }
139
- else
131
+ if (!isInit && !externalThreadingControl)
140
132
{
141
- if (!isInit)
133
+ /* if HT enabled - set _numThreads to physical cores num */
134
+ if (daal::internal::ServiceInst::serv_get_ht ())
142
135
{
143
- /* if HT enabled - set _numThreads to physical cores num */
144
- if (daal::internal::ServiceInst::serv_get_ht ())
136
+ /* Number of cores = number of cpu packages * number of cores per cpu package */
137
+ int ncores = daal::internal::ServiceInst::serv_get_ncpus () * daal::internal::ServiceInst::serv_get_ncorespercpu ();
138
+
139
+ /* Re-set number of threads if ncores is valid and different to _numThreads */
140
+ if ((ncores > 0 ) && (ncores < _daal_threader_get_max_threads ()))
145
141
{
146
- /* Number of cores = number of cpu packages * number of cores per cpu package */
147
- int ncores = daal::internal::ServiceInst::serv_get_ncpus () * daal::internal::ServiceInst::serv_get_ncorespercpu ();
148
-
149
- /* Re-set number of threads if ncores is valid and different to _numThreads */
150
- if ((ncores > 0 ) && (ncores < _daal_threader_get_max_threads ()))
151
- {
152
- daal::services::Environment::setNumberOfThreads (ncores);
153
- }
142
+ daal::services::Environment::setNumberOfThreads (ncores);
154
143
}
155
- isInit = true ;
156
144
}
145
+ isInit = true ;
157
146
}
158
147
}
159
148
@@ -206,4 +195,8 @@ DAAL_EXPORT void daal::services::Environment::modifyExternalThreadingControl(boo
206
195
{
207
196
externalThreadingControl = assumeExternalControl;
208
197
isInit = false ;
198
+ if (externalThreadingControl)
199
+ {
200
+ daal::services::Environment::setNumberOfThreads (_daal_threader_get_max_threads ());
201
+ }
209
202
}
0 commit comments