code: def test_deterministic_algorithms(self):
      N = 10000
  
      @torch.compile
      def fn(idx, values):
          x = torch.zeros(1, device="cuda")
          x[idx] += values
          return x
  
      idx = torch.zeros(N, dtype=torch.int64, device="cuda")
      values = torch.randn(N, device="cuda")
  
      r0 = fn(idx, values)
      with DeterministicGuard(True):
          r1 = fn(idx, values)
          for _ in range(10):
              rn = fn(idx, values)
              self.assertEqual(r1, rn, atol=0, rtol=0)
  
imports: import math
  import sys
  import unittest
  import torch
  import torch._dynamo.config
  import torch.backends.cuda
  import torch.nn.functional
  from torch import nn
  from torch._dynamo.debug_utils import same_two_models
  from torch._dynamo.testing import rand_strided
  from torch._dynamo.utils import same
  from torch._inductor import config
  from torch._inductor.compile_fx import compile_fx_inner
  from torch.fx.experimental.proxy_tensor import make_fx
  from torch.testing._internal.common_cuda import PLATFORM_SUPPORTS_FLASH_ATTENTION
  from torch.testing._internal.common_utils import DeterministicGuard, freeze_rng_state, IS_FBCODE, skipIfRocm, TEST_WITH_ASAN
label_desc: Use image node_id 30 for calling the CudaReproTests obj's underlying member method code with example usage: obj.test_deterministic_algorithms() and returns: x