@@ -9056,6 +9056,48 @@ impl Tensor {
90569056 Ok(return_ != 0)
90579057 }
90589058
9059+ pub fn f_internal_use_miopen_ctc_loss(
9060+ log_probs: &Tensor,
9061+ targets: &Tensor,
9062+ input_lengths: impl IntList,
9063+ target_lengths: impl IntList,
9064+ blank: i64,
9065+ ) -> Result<bool, TchError> {
9066+ let return_;
9067+ unsafe_torch_err!(
9068+ return_ = atg__use_miopen_ctc_loss(
9069+ log_probs.c_tensor,
9070+ targets.c_tensor,
9071+ input_lengths.as_ptr(),
9072+ input_lengths.len_i32(),
9073+ target_lengths.as_ptr(),
9074+ target_lengths.len_i32(),
9075+ blank
9076+ )
9077+ );
9078+ Ok(return_ != 0)
9079+ }
9080+
9081+ pub fn f_internal_use_miopen_ctc_loss_tensor(
9082+ log_probs: &Tensor,
9083+ targets: &Tensor,
9084+ input_lengths: &Tensor,
9085+ target_lengths: &Tensor,
9086+ blank: i64,
9087+ ) -> Result<bool, TchError> {
9088+ let return_;
9089+ unsafe_torch_err!(
9090+ return_ = atg__use_miopen_ctc_loss_tensor(
9091+ log_probs.c_tensor,
9092+ targets.c_tensor,
9093+ input_lengths.c_tensor,
9094+ target_lengths.c_tensor,
9095+ blank
9096+ )
9097+ );
9098+ Ok(return_ != 0)
9099+ }
9100+
90599101 pub fn f_internal_validate_compressed_sparse_indices(
90609102 is_crow: bool,
90619103 compressed_idx: &Tensor,
@@ -21460,6 +21502,24 @@ impl Tensor {
2146021502 Ok(Tensor { c_tensor: c_tensors[0] })
2146121503 }
2146221504
21505+ pub fn f_linalg_powsum(
21506+ &self,
21507+ dim: impl IntListOption,
21508+ keepdim: bool,
21509+ dtype: impl Into<Option<Kind>>,
21510+ ) -> Result<Tensor, TchError> {
21511+ let mut c_tensors = [std::ptr::null_mut(); 1];
21512+ unsafe_torch_err!(atg_linalg__powsum(
21513+ c_tensors.as_mut_ptr(),
21514+ self.c_tensor,
21515+ dim.as_ptr(),
21516+ dim.len_i32(),
21517+ if keepdim { 1 } else { 0 },
21518+ dtype.into().map_or(-1, |s| s.c_int())
21519+ ));
21520+ Ok(Tensor { c_tensor: c_tensors[0] })
21521+ }
21522+
2146321523 pub fn f_linalg_cholesky(&self, upper: bool) -> Result<Tensor, TchError> {
2146421524 let mut c_tensors = [std::ptr::null_mut(); 1];
2146521525 unsafe_torch_err!(atg_linalg_cholesky(
@@ -25191,6 +25251,83 @@ impl Tensor {
2519125251 Ok(Tensor { c_tensor: c_tensors[0] })
2519225252 }
2519325253
25254+ pub fn f_miopen_ctc_loss(
25255+ log_probs: &Tensor,
25256+ targets: &Tensor,
25257+ input_lengths: impl IntList,
25258+ target_lengths: impl IntList,
25259+ blank: i64,
25260+ deterministic: bool,
25261+ zero_infinity: bool,
25262+ ) -> Result<(Tensor, Tensor), TchError> {
25263+ let mut c_tensors = [std::ptr::null_mut(); 2];
25264+ unsafe_torch_err!(atg_miopen_ctc_loss(
25265+ c_tensors.as_mut_ptr(),
25266+ log_probs.c_tensor,
25267+ targets.c_tensor,
25268+ input_lengths.as_ptr(),
25269+ input_lengths.len_i32(),
25270+ target_lengths.as_ptr(),
25271+ target_lengths.len_i32(),
25272+ blank,
25273+ if deterministic { 1 } else { 0 },
25274+ if zero_infinity { 1 } else { 0 }
25275+ ));
25276+ Ok((Tensor { c_tensor: c_tensors[0] }, Tensor { c_tensor: c_tensors[1] }))
25277+ }
25278+
25279+ pub fn f_miopen_ctc_loss_out(
25280+ out0: &Tensor,
25281+ out1: &Tensor,
25282+ log_probs: &Tensor,
25283+ targets: &Tensor,
25284+ input_lengths: impl IntList,
25285+ target_lengths: impl IntList,
25286+ blank: i64,
25287+ deterministic: bool,
25288+ zero_infinity: bool,
25289+ ) -> Result<(Tensor, Tensor), TchError> {
25290+ let mut c_tensors = [std::ptr::null_mut(); 2];
25291+ unsafe_torch_err!(atg_miopen_ctc_loss_out(
25292+ c_tensors.as_mut_ptr(),
25293+ out0.c_tensor,
25294+ out1.c_tensor,
25295+ log_probs.c_tensor,
25296+ targets.c_tensor,
25297+ input_lengths.as_ptr(),
25298+ input_lengths.len_i32(),
25299+ target_lengths.as_ptr(),
25300+ target_lengths.len_i32(),
25301+ blank,
25302+ if deterministic { 1 } else { 0 },
25303+ if zero_infinity { 1 } else { 0 }
25304+ ));
25305+ Ok((Tensor { c_tensor: c_tensors[0] }, Tensor { c_tensor: c_tensors[1] }))
25306+ }
25307+
25308+ pub fn f_miopen_ctc_loss_tensor(
25309+ log_probs: &Tensor,
25310+ targets: &Tensor,
25311+ input_lengths: &Tensor,
25312+ target_lengths: &Tensor,
25313+ blank: i64,
25314+ deterministic: bool,
25315+ zero_infinity: bool,
25316+ ) -> Result<(Tensor, Tensor), TchError> {
25317+ let mut c_tensors = [std::ptr::null_mut(); 2];
25318+ unsafe_torch_err!(atg_miopen_ctc_loss_tensor(
25319+ c_tensors.as_mut_ptr(),
25320+ log_probs.c_tensor,
25321+ targets.c_tensor,
25322+ input_lengths.c_tensor,
25323+ target_lengths.c_tensor,
25324+ blank,
25325+ if deterministic { 1 } else { 0 },
25326+ if zero_infinity { 1 } else { 0 }
25327+ ));
25328+ Ok((Tensor { c_tensor: c_tensors[0] }, Tensor { c_tensor: c_tensors[1] }))
25329+ }
25330+
2519425331 pub fn f_miopen_depthwise_convolution<T: Borrow<Tensor>>(
2519525332 &self,
2519625333 weight: &Tensor,
0 commit comments