code: def set_config(**kwargs):
      """Set up the configure of profiler (only accepts keyword arguments).
  
      Parameters
      ----------
      filename : string,
          output file for profile data
      gpu_memory_profile_filename_prefix : string
          filename prefix for the GPU memory profile
      profile_all : boolean,
          all profile types enabled
      profile_symbolic : boolean,
          whether to profile symbolic operators
      profile_imperative : boolean,
          whether to profile imperative operators
      profile_memory : boolean,
          whether to profile memory usage
      profile_api : boolean,
          whether to profile the C API
      continuous_dump : boolean,
          whether to periodically dump profiling data to file
      dump_period : float,
          seconds between profile data dumps
      aggregate_stats : boolean,
          whether to maintain aggregate stats in memory for console
          dump.  Has some negative performance impact.
      profile_process : string
          whether to profile kvstore `server` or `worker`.
          server can only be profiled when kvstore is of type dist.
          if this is not passed, defaults to `worker`
      """
      kk = kwargs.keys()
      vv = kwargs.values()
      check_call(
          _LIB.MXSetProcessProfilerConfig(
              len(kwargs),
              c_str_array([key for key in kk]),
              c_str_array([str(val) for val in vv]),
              profiler_kvstore_handle,
          )
      )
  
imports: import ctypes
  import contextlib
  import contextvars
  import warnings
  from .base import _LIB, check_call, c_str, ProfileHandle, c_str_array, py_str, KVStoreHandle
label_desc: Use image node_id 2 for calling a global function with example usage: set_config() without return types