My program runs on linux, and uses a openmp-enabled dynamic library (named calc.so) for fast parallel computation, calc.so exports this function double calc(double* data)
.
When the program is running, I used command strace -p {prog_pid}
and found the the running process is constantly creating a thread pool (I see a lot clone,futex syscalls).
I only have very limited openmp experience, I remember openmp thread pool is created only once. How come this time the thread pool is created over and over again? Is it related the use openmp in dynamic library? Anyone can give me a clue? Thanks.