code: def manual_override(self):
      if torch.cuda.is_available():
          if "BNB_CUDA_VERSION" in os.environ:
              if len(os.environ["BNB_CUDA_VERSION"]) > 0:
                  warn(
                      (
                          f'\n\n{"="*80}\n'
                          "WARNING: Manual override via BNB_CUDA_VERSION env variable detected!\n"
                          "BNB_CUDA_VERSION=XXX can be used to load a bitsandbytes version that is different from the PyTorch CUDA version.\n"
                          "If this was unintended set the BNB_CUDA_VERSION variable to an empty string: export BNB_CUDA_VERSION=\n"
                          "If you use the manual override make sure the right libcudart.so is in your LD_LIBRARY_PATH\n"
                          "For example by adding the following to your .bashrc: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_cuda_dir/lib64\n"
                          f'Loading CUDA version: BNB_CUDA_VERSION={os.environ["BNB_CUDA_VERSION"]}'
                          f'\n{"="*80}\n\n'
                      )
                  )
                  self.binary_name = (
                      self.binary_name[:-6]
                      + f'{os.environ["BNB_CUDA_VERSION"]}.so'
                  )
  
imports: import ctypes
  import os
  import errno
  import torch
  from warnings import warn
  from itertools import product
  from pathlib import Path
  from typing import Set, Union
  from .env_vars import get_potentially_lib_path_containing_env_vars
label_desc: Use image node_id 4 for calling the CUDASetup obj's underlying member method code with example usage: obj.manual_override() without return types