code: def test_omp_threads_set_third_party(ray_start_cluster, monkeypatch):
      ###########################
      # Test the OMP_NUM_THREADS are picked up by 3rd party libraries
      # when running tasks if no OMP_NUM_THREADS is set by user.
      # e.g. numpy, numexpr
      ###########################
      with monkeypatch.context() as m:
          m.delenv("OMP_NUM_THREADS", raising=False)
  
          cluster = ray_start_cluster
          cluster.add_node(num_cpus=4)
          ray.init(address=cluster.address)
  
          @ray.remote(num_cpus=2)
          def f():
              # Assert numpy using 2 threads for it's parallelism backend.
              import numpy  # noqa: F401
              from threadpoolctl import threadpool_info
  
              for pool_info in threadpool_info():
                  assert pool_info["num_threads"] == 2
  
              import numexpr
  
              assert numexpr.nthreads == 2
              return True
  
          assert ray.get(f.remote())
  
imports: import os
  import sys
  import time
  import pytest
  import ray
  import ray._private.ray_constants
  from ray._private.test_utils import Semaphore, enable_external_redis, client_test_enabled, run_string_as_driver, wait_for_condition, get_gcs_memory_used, run_string_as_driver_nonblocking
  from ray.experimental.internal_kv import _internal_kv_list
  from ray.tests.conftest import call_ray_start
  import subprocess
  import psutil
label_desc: Use image node_id 15 for calling a global function with example usage: test_omp_threads_set_third_party(ray_start_cluster, monkeypatch) and returns: True