code: def test_scaled_dot_product_attention(
      *,
      dtype_q_k_v_mask,
      scale,
      dropout_p,
      is_causal,
      training,
      test_flags,
      backend_fw,
      fn_name,
      on_device,
  ):
      (dtype, query, key, value, mask) = dtype_q_k_v_mask
      is_causal = is_causal if mask is None else False
      helpers.test_function(
          input_dtypes=dtype,
          test_flags=test_flags,
          backend_to_test=backend_fw,
          fn_name=fn_name,
          on_device=on_device,
          atol_=1e-02,
          rtol_=1e-02,
          query=query,
          key=key,
          value=value,
          scale=scale,
          mask=mask,
          dropout_p=dropout_p,
          is_causal=is_causal,
          training=training,
      )
  
imports: from hypothesis import strategies, assume
  import ivy
  import numpy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test
  from ivy.functional.ivy.layers import _deconv_length, _pack_padded_sequence
label_desc: Use image node_id 30 for calling a global function with example usage: test_scaled_dot_product_attention() without return types