code: def _cudaGetFunctionPointer(name):
      global cudaLib
  
      if name in _cudaGetFunctionPointer_cache:
          return _cudaGetFunctionPointer_cache[name]
  
      libLoadLock.acquire()
      try:
          # ensure library was loaded
          if cudaLib == None:
              raise NVMLError(NVML_ERROR_UNINITIALIZED)
          try:
              _cudaGetFunctionPointer_cache[name] = getattr(
                  cudaLib, name
              )
              return _cudaGetFunctionPointer_cache[name]
          except AttributeError:
              raise NVMLError(NVML_ERROR_FUNCTION_NOT_FOUND)
      finally:
          # lock is always freed
          libLoadLock.release()
  
file_path: autogluon/common/src/autogluon/common/utils/nvutil.py
imports: import os
  import sys
  import threading
  from ctypes import *
label_desc: Use image node_id 5 for calling a global function with example usage: _cudaGetFunctionPointer(name) and returns: _cudaGetFunctionPointer_cache, _cudaGetFunctionPointer_cache