This is done to reduce risk of misuse, considering two cases: - These functions are often called with a single data point, making the thread setup and teardown time prohibitively expensive. - This may conflict with higher-level use of OpenMP.