degradation of -rdc. Note that it needs to be used at both steps
   to be useful.
If you have rdc objects you need to have an extra -dlink
   (device linking) step before the CPU symbol linking step. There is
   also a case where -dlink is used without -rdc: when an
   extension is linked against a static lib containing rdc-compiled
   objects like the NVSHMEM
   library.
Note: Ninja is required to build a CUDA Extension with RDC linking.
-[ Example ]-



CUDAExtension(
   ...        name='cuda_extension',
   ...        sources=['extension.cpp', 'extension_kernel.cu'],
   ...        dlink=True,
   ...        dlink_libraries=["dlink_lib"],
   ...        extra_compile_args={'cxx': ['-g'],
   ...                            'nvcc': ['-O2', '-rdc=true']})



torch.utils.cpp_extension.BuildExtension(args, *kwargs)
A custom "setuptools" build extension .
This "setuptools.build_ext" subclass takes care of passing the