@@ -26,7 +26,7 @@ ensure_row_contiguous(const array& x, metal::Device& d, const Stream& s) {
2626 return x;
2727 }
2828 auto result = contiguous_copy_gpu (x, s);
29- d .add_temporary (result, s. index );
29+ metal::get_command_encoder (s) .add_temporary (result);
3030 return result;
3131}
3232
@@ -52,7 +52,7 @@ void explicit_gemm_conv_ND_gpu(
5252 std::string kname;
5353 kname.reserve (32 );
5454 concatenate (kname, " naive_unfold_nd_" , type_to_name (in_unfolded), " _" , N);
55- auto & compute_encoder = d. get_command_encoder (s. index );
55+ auto & compute_encoder = metal:: get_command_encoder (s);
5656 auto kernel = d.get_kernel (kname);
5757 compute_encoder.set_compute_pipeline_state (kernel);
5858
@@ -132,7 +132,7 @@ void explicit_gemm_conv_group_ND_gpu(
132132 kname.reserve (32 );
133133 concatenate (
134134 kname, " naive_unfold_transpose_nd_" , type_to_name (in_unfolded), " _" , N);
135- auto & compute_encoder = d. get_command_encoder (s. index );
135+ auto & compute_encoder = metal:: get_command_encoder (s);
136136 auto kernel = d.get_kernel (kname);
137137 compute_encoder.set_compute_pipeline_state (kernel);
138138
@@ -286,7 +286,7 @@ void implicit_gemm_conv_2D_gpu(
286286 small_filter ? ' s' : ' l' );
287287
288288 // Encode and dispatch kernel
289- auto & compute_encoder = d. get_command_encoder (s. index );
289+ auto & compute_encoder = metal:: get_command_encoder (s);
290290 auto kernel = get_steel_conv_kernel (
291291 d,
292292 kname,
@@ -469,7 +469,7 @@ void implicit_gemm_conv_2D_general_gpu(
469469 };
470470
471471 // Encode and dispatch kernel
472- auto & compute_encoder = d. get_command_encoder (s. index );
472+ auto & compute_encoder = metal:: get_command_encoder (s);
473473 auto kernel = get_steel_conv_general_kernel (
474474 d, kname, hash_name, func_consts, out, bm, bn, bk, wm, wn);
475475 compute_encoder.set_compute_pipeline_state (kernel);
@@ -595,7 +595,7 @@ void implicit_gemm_conv_3D_gpu(
595595 small_filter ? ' s' : ' l' );
596596
597597 // Encode and dispatch kernel
598- auto & compute_encoder = d. get_command_encoder (s. index );
598+ auto & compute_encoder = metal:: get_command_encoder (s);
599599 auto kernel =
600600 get_steel_conv_3d_kernel (d, kname, out, bm, bn, bk, wm, wn, small_filter);
601601 compute_encoder.set_compute_pipeline_state (kernel);
@@ -644,7 +644,7 @@ void pad_and_slice_conv_3D_gpu(
644644 array x_copy (xshape, x.dtype (), nullptr , {});
645645 array zero (0 , x.dtype ());
646646 pad_gpu (x, zero, x_copy, {0 , -1 }, {0 , 0 }, s);
647- d .add_temporary (x_copy, s. index );
647+ metal::get_command_encoder (s) .add_temporary (x_copy);
648648
649649 return x_copy;
650650 };
@@ -804,7 +804,7 @@ void winograd_conv_2D_gpu(
804804 type_to_name (out),
805805 " _bc" ,
806806 bc);
807- auto & compute_encoder = d. get_command_encoder (s. index );
807+ auto & compute_encoder = metal:: get_command_encoder (s);
808808 auto kernel = d.get_kernel (kname);
809809 compute_encoder.set_compute_pipeline_state (kernel);
810810
@@ -837,7 +837,7 @@ void winograd_conv_2D_gpu(
837837 type_to_name (out),
838838 " _bc" ,
839839 bc);
840- auto & compute_encoder = d. get_command_encoder (s. index );
840+ auto & compute_encoder = metal:: get_command_encoder (s);
841841 auto kernel = d.get_kernel (kname);
842842 compute_encoder.set_compute_pipeline_state (kernel);
843843
@@ -889,7 +889,7 @@ void winograd_conv_2D_gpu(
889889 type_to_name (out),
890890 " _bo" ,
891891 bc);
892- auto & compute_encoder = d. get_command_encoder (s. index );
892+ auto & compute_encoder = metal:: get_command_encoder (s);
893893 auto kernel = d.get_kernel (kname);
894894 compute_encoder.set_compute_pipeline_state (kernel);
895895
@@ -950,7 +950,7 @@ void depthwise_conv_2D_gpu(
950950 " _tgp_w_" , tw,
951951 " _do_flip_" , do_flip ? ' t' : ' n' ); // clang-format on
952952
953- auto & compute_encoder = d. get_command_encoder (s. index );
953+ auto & compute_encoder = metal:: get_command_encoder (s);
954954 auto kernel = d.get_kernel (base_name, hash_name, func_consts);
955955 compute_encoder.set_compute_pipeline_state (kernel);
956956
@@ -1044,7 +1044,7 @@ void depthwise_conv_1D_gpu(
10441044 type_to_name (out),
10451045 large ? " _large" : " " );
10461046
1047- auto & compute_encoder = d. get_command_encoder (s. index );
1047+ auto & compute_encoder = metal:: get_command_encoder (s);
10481048 auto kernel = d.get_kernel (base_name);
10491049 compute_encoder.set_compute_pipeline_state (kernel);
10501050
@@ -1348,7 +1348,7 @@ void Convolution::eval_gpu(const std::vector<array>& inputs, array& out) {
13481348
13491349 // Record copies
13501350 if (!copies.empty ()) {
1351- d .add_temporaries (std::move (copies), s. index );
1351+ metal::get_command_encoder (s) .add_temporaries (std::move (copies));
13521352 }
13531353}
13541354
0 commit comments