@@ -1568,8 +1568,6 @@ def set_state(self, f, state, envs_idx=None, *, partial: bool = False) -> None:
15681568 mass_dst [envs_idx ] = state .mass_shift [envs_idx ]
15691569 if self .n_geoms :
15701570 fric_dst [envs_idx ] = state .friction_ratio [envs_idx ]
1571- if gs .backend == gs .metal :
1572- torch .mps .synchronize ()
15731571 else :
15741572 envs_idx = self ._scene ._sanitize_envs_idx (envs_idx )
15751573 kernel_set_zero (envs_idx , self ._errno )
@@ -1696,8 +1694,6 @@ def set_base_links_pos(self, pos, links_idx=None, envs_idx=None, *, relative=Fal
16961694 target = data [:, link .q_start : link .q_start + 3 ]
16971695 pos = broadcast_tensor (pos , gs .tc_float , target .shape )
16981696 torch .where (envs_idx [:, None ], pos , target , out = target )
1699- if gs .backend == gs .metal :
1700- torch .mps .synchronize ()
17011697 else :
17021698 pos , links_idx , envs_idx = self ._sanitize_io_variables (
17031699 pos , links_idx , self .n_links , "links_idx" , envs_idx , (3 ,), skip_allocation = True
@@ -1795,8 +1791,6 @@ def set_base_links_quat(self, quat, links_idx=None, envs_idx=None, *, relative=F
17951791 target = data [:, link .q_start + 3 : link .q_start + 7 ]
17961792 quat = broadcast_tensor (quat , gs .tc_float , target .shape )
17971793 torch .where (envs_idx [:, None ], quat , target , out = target )
1798- if gs .backend == gs .metal :
1799- torch .mps .synchronize ()
18001794 else :
18011795 quat , links_idx , envs_idx = self ._sanitize_io_variables (
18021796 quat , links_idx , self .n_links , "links_idx" , envs_idx , (4 ,), skip_allocation = True
@@ -1915,8 +1909,6 @@ def set_links_inertia(self, ratio, links_idx=None, envs_idx=None):
19151909 assign_indexed_tensor (mass_data , mask , mass_data [mask ] * ratio_t )
19161910 assign_indexed_tensor (inertial_i_data , mask , inertial_i_data [mask ] * ratio_t [..., None , None ])
19171911 assign_indexed_tensor (invweight_data , mask , invweight_data [mask ] / ratio_t [..., None ])
1918- if gs .backend == gs .metal :
1919- torch .mps .synchronize ()
19201912 return
19211913
19221914 ratio , links_idx , envs_idx = self ._sanitize_io_variables (
@@ -1971,8 +1963,6 @@ def set_qpos(self, qpos, qs_idx=None, envs_idx=None, *, skip_forward=False):
19711963 errno [envs_idx ] = 0
19721964 if mask and isinstance (mask [0 ], torch .Tensor ):
19731965 envs_idx = mask [0 ].reshape ((- 1 ,))
1974- if gs .backend == gs .metal :
1975- torch .mps .synchronize ()
19761966 else :
19771967 qpos , qs_idx , envs_idx = self ._sanitize_io_variables (
19781968 qpos , qs_idx , self .n_qs , "qs_idx" , envs_idx , skip_allocation = True
@@ -2116,8 +2106,6 @@ def _set_dofs_info(self, tensor_list, dofs_idx, name, envs_idx=None):
21162106 num_values = len (tensor_list )
21172107 for j , mask_j in enumerate (((* mask , ..., j ) for j in range (num_values )) if num_values > 1 else (mask ,)):
21182108 assign_indexed_tensor (data , mask_j , tensor_list [j ])
2119- if gs .backend == gs .metal :
2120- torch .mps .synchronize ()
21212109 return
21222110
21232111 tensor_list = list (tensor_list )
@@ -2219,8 +2207,6 @@ def set_dofs_position(self, position, dofs_idx=None, envs_idx=None):
22192207 if gs .use_zerocopy :
22202208 errno = qd_to_torch (self ._errno , copy = False )
22212209 errno [envs_idx ] = 0
2222- if gs .backend == gs .metal :
2223- torch .mps .synchronize ()
22242210 else :
22252211 kernel_set_zero (envs_idx , self ._errno )
22262212
@@ -2248,8 +2234,6 @@ def control_dofs_force(self, force, dofs_idx=None, envs_idx=None):
22482234 ctrl_mode [mask ] = gs .CTRL_MODE .FORCE
22492235 ctrl_force = qd_to_torch (self .dofs_state .ctrl_force , transpose = True , copy = False )
22502236 assign_indexed_tensor (ctrl_force , mask , force )
2251- if gs .backend == gs .metal :
2252- torch .mps .synchronize ()
22532237 return
22542238
22552239 force , dofs_idx , envs_idx = self ._sanitize_io_variables (
@@ -2269,8 +2253,6 @@ def control_dofs_velocity(self, velocity, dofs_idx=None, envs_idx=None):
22692253 ctrl_pos [mask ] = 0.0
22702254 ctrl_vel = qd_to_torch (self .dofs_state .ctrl_vel , transpose = True , copy = False )
22712255 assign_indexed_tensor (ctrl_vel , mask , velocity )
2272- if gs .backend == gs .metal :
2273- torch .mps .synchronize ()
22742256 return
22752257
22762258 velocity , dofs_idx , envs_idx = self ._sanitize_io_variables (
@@ -2290,8 +2272,6 @@ def control_dofs_position(self, position, dofs_idx=None, envs_idx=None):
22902272 assign_indexed_tensor (ctrl_pos , mask , position )
22912273 ctrl_vel = qd_to_torch (self .dofs_state .ctrl_vel , transpose = True , copy = False )
22922274 ctrl_vel [mask ] = 0.0
2293- if gs .backend == gs .metal :
2294- torch .mps .synchronize ()
22952275 return
22962276
22972277 position , dofs_idx , envs_idx = self ._sanitize_io_variables (
@@ -2311,8 +2291,6 @@ def control_dofs_position_velocity(self, position, velocity, dofs_idx=None, envs
23112291 assign_indexed_tensor (ctrl_pos , mask , position )
23122292 ctrl_vel = qd_to_torch (self .dofs_state .ctrl_vel , transpose = True , copy = False )
23132293 assign_indexed_tensor (ctrl_vel , mask , velocity )
2314- if gs .backend == gs .metal :
2315- torch .mps .synchronize ()
23162294 return
23172295
23182296 position , dofs_idx , _ = self ._sanitize_io_variables (
@@ -2648,8 +2626,6 @@ def clear_external_force(self):
26482626 for tensor in (self .links_state .cfrc_applied_ang , self .links_state .cfrc_applied_vel ):
26492627 out = qd_to_torch (tensor , copy = False )
26502628 out .zero_ ()
2651- if gs .backend == gs .metal :
2652- torch .mps .synchronize ()
26532629 return
26542630
26552631 kernel_clear_external_force (self .links_state , self ._rigid_global_info , self ._static_rigid_sim_config )
0 commit comments