mystran wrote: ↑Thu Nov 29, 2018 6:49 am
[well: strictly speaking it's not that it's "thread-safe" as such, rather it simply runs in a context where there can only ever be one thread, unless you specifically create more threads of your own with another such initializer; the application won't get the library handle (and hence can't call into the library from other threads) until after the initializers have run]
Anyway, still I don't understand why I need to do it
It seems they call ippInit() (if not already initialized) at the first IPP call, preventing (later) any other IPP functions to execute while it has been finished. Reasoning this way, it seems to be thread safe to me

Any other (parallel) thread won't run any IPP function if ippInit() has not terminated.
The only problem I see is if I manually call ippInit() while another thread is running ippInit() (because a IPP function has run and automatically called ippInit(), for example). But again, if I never call manually ippInit(), it should already work out of the box...