code: def setUp(self):
      major, minor, _ = torch_version()
      if major < 1 or (major == 1 and minor < 6):
          raise unittest.SkipTest(
              "Need pytorch version >= 1.6 due to reduce_scatter"
          )
      if not torch.cuda.is_available():
          raise unittest.SkipTest("CUDA not available, skipping test")
      if sys.platform == "win32":
          raise unittest.SkipTest(
              "NCCL doesn't support Windows, skipping test"
          )
      if torch.cuda.device_count() < 2:
          raise unittest.SkipTest(
              "distributed tests require 2+ GPUs, skipping"
          )
  
file_path: fairscale/tests/utils/test_reduce_scatter_bucketer.py
imports: import functools
  import itertools
  import sys
  import unittest
  from unittest import mock
  from parameterized import parameterized
  import torch
  from fairscale.fair_dev.testing.testing import dist_init, spawn_for_all_world_sizes
  from fairscale.internal import torch_version
  from fairscale.internal.reduce_scatter_bucketer import ReduceScatterBucketer
label_desc: Use image node_id 1 for calling the TestReduceScatterBucketer obj's underlying member method code with example usage: obj.setUp() without return types