[functorch] Added all of the upsample no overload functions too (not sure if these ever even show up...)

This commit is contained in:
Horace He
2021-08-19 04:04:18 -07:00
committed by Jon Janzen
parent eb26b8b97a
commit 0884b8a533
3 changed files with 806 additions and 8 deletions

View File

@ -268,6 +268,10 @@ struct UpsampleBackwardBatchRuleHelper<F, Func, typelist<A, B, C, T...>> {
&ATEN_FN2(op, overload),\
c10::guts::function_traits<decltype(ATEN_FN2(op, overload))>::parameter_types>::apply))
#define UPSAMPLE_BATCH(op) \
VMAP_SUPPORT(#op".vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(op, vec))); \
VMAP_SUPPORT(#op, EXISTING_BDIM_BATCH_RULE(ATEN_FN(op)));
TORCH_LIBRARY_IMPL(aten, FT_BATCHED_KEY, m) {
VMAP_SUPPORT("convolution", convolution_batching_rule);
m.impl("conv1d", convNd_decomp);
@ -286,13 +290,14 @@ TORCH_LIBRARY_IMPL(aten, FT_BATCHED_KEY, m) {
VMAP_SUPPORT("replication_pad2d", EXISTING_BDIM_BATCH_RULE(at::replication_pad2d));
VMAP_SUPPORT("replication_pad3d", EXISTING_BDIM_BATCH_RULE(at::replication_pad3d));
VMAP_SUPPORT("upsample_bicubic2d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_bicubic2d, vec)));
VMAP_SUPPORT("upsample_bilinear2d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_bilinear2d, vec)));
VMAP_SUPPORT("upsample_linear1d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_linear1d, vec)));
VMAP_SUPPORT("upsample_nearest1d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_nearest1d, vec)));
VMAP_SUPPORT("upsample_nearest2d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_nearest2d, vec)));
VMAP_SUPPORT("upsample_nearest3d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_nearest3d, vec)));
VMAP_SUPPORT("upsample_trilinear3d.vec", EXISTING_BDIM_BATCH_RULE(ATEN_FN2(upsample_trilinear3d, vec)));
UPSAMPLE_BATCH(upsample_bicubic2d);
UPSAMPLE_BATCH(upsample_bilinear2d);
UPSAMPLE_BATCH(upsample_linear1d);
UPSAMPLE_BATCH(unsample_nearest1d);
UPSAMPLE_BATCH(unsample_nearest2d);
UPSAMPLE_BATCH(unsample_nearest3d);
UPSAMPLE_BATCH(unsample_trilinear3d);
UPSAMPLE_BACKWARD(upsample_bicubic2d_backward, vec);
UPSAMPLE_BACKWARD(upsample_bilinear2d_backward, vec);
UPSAMPLE_BACKWARD(upsample_linear1d_backward, vec);

View File

@ -365,7 +365,7 @@ bitwise_or, primitive pointwise
bitwise_xor, primitive pointwise
addbmm, composite matmul
diag, view/reshape
cross, reduction
cross, misc
triu, view/reshape
tril, view/reshape
tril_indices, view/reshape

View File

@ -0,0 +1,793 @@
aten::__ilshift__
aten::__irshift__
aten::__lshift__
aten::__rshift__
aten::_adaptive_avg_pool2d
aten::_adaptive_avg_pool2d_backward
aten::_adaptive_avg_pool3d
aten::_adaptive_avg_pool3d_backward
aten::_add_relu
aten::_add_relu_
aten::_aminmax
aten::_amp_foreach_non_finite_check_and_unscale_
aten::_amp_update_scale_
aten::_assert_async
aten::_bmm
aten::_cat
aten::_cdist_backward
aten::_cdist_forward
aten::_cholesky_solve_helper
aten::_coalesce
aten::_coalesced_
aten::_compute_linear_combination
aten::_conj
aten::_conj_physical
aten::_copy_from
aten::_copy_from_and_resize
aten::_ctc_loss
aten::_ctc_loss_backward
aten::_cudnn_ctc_loss
aten::_cudnn_init_dropout_state
aten::_cudnn_rnn
aten::_cudnn_rnn_backward
aten::_cudnn_rnn_flatten_weight
aten::_cummax_helper
aten::_cummin_helper
aten::_cumprod
aten::_cumsum
aten::_dimI
aten::_dimV
aten::_dirichlet_grad
aten::_embedding_bag
aten::_embedding_bag_dense_backward
aten::_embedding_bag_forward_only
aten::_embedding_bag_per_sample_weights_backward
aten::_empty_affine_quantized
aten::_empty_per_channel_affine_quantized
aten::_euclidean_dist
aten::_fake_quantize_learnable_per_channel_affine
aten::_fake_quantize_learnable_per_tensor_affine
aten::_fft_c2c
aten::_fft_c2r
aten::_fft_r2c
aten::_foreach_abs
aten::_foreach_abs_
aten::_foreach_acos
aten::_foreach_acos_
aten::_foreach_add
aten::_foreach_add_
aten::_foreach_addcdiv
aten::_foreach_addcdiv_
aten::_foreach_addcmul
aten::_foreach_addcmul_
aten::_foreach_asin
aten::_foreach_asin_
aten::_foreach_atan
aten::_foreach_atan_
aten::_foreach_ceil
aten::_foreach_ceil_
aten::_foreach_cos
aten::_foreach_cos_
aten::_foreach_cosh
aten::_foreach_cosh_
aten::_foreach_div
aten::_foreach_div_
aten::_foreach_erf
aten::_foreach_erf_
aten::_foreach_erfc
aten::_foreach_erfc_
aten::_foreach_exp
aten::_foreach_exp_
aten::_foreach_expm1
aten::_foreach_expm1_
aten::_foreach_floor
aten::_foreach_floor_
aten::_foreach_frac
aten::_foreach_frac_
aten::_foreach_lgamma
aten::_foreach_lgamma_
aten::_foreach_log
aten::_foreach_log10
aten::_foreach_log10_
aten::_foreach_log1p
aten::_foreach_log1p_
aten::_foreach_log2
aten::_foreach_log2_
aten::_foreach_log_
aten::_foreach_maximum
aten::_foreach_minimum
aten::_foreach_mul
aten::_foreach_mul_
aten::_foreach_neg
aten::_foreach_neg_
aten::_foreach_reciprocal
aten::_foreach_reciprocal_
aten::_foreach_round
aten::_foreach_round_
aten::_foreach_sigmoid
aten::_foreach_sigmoid_
aten::_foreach_sin
aten::_foreach_sin_
aten::_foreach_sinh
aten::_foreach_sinh_
aten::_foreach_sqrt
aten::_foreach_sqrt_
aten::_foreach_sub
aten::_foreach_sub_
aten::_foreach_tan
aten::_foreach_tan_
aten::_foreach_tanh
aten::_foreach_tanh_
aten::_foreach_trunc
aten::_foreach_trunc_
aten::_foreach_zero_
aten::_fused_dropout
aten::_fw_primal
aten::_grid_sampler_2d_cpu_fallback
aten::_index_copy_
aten::_index_put_impl_
aten::_indices
aten::_inverse_helper
aten::_linalg_inv_out_helper_
aten::_linalg_qr_helper
aten::_linalg_solve_out_helper_
aten::_local_scalar_dense
aten::_log_softmax
aten::_log_softmax_backward_data
aten::_logcumsumexp
aten::_lu_with_info
aten::_make_per_channel_quantized_tensor
aten::_make_per_tensor_quantized_tensor
aten::_masked_scale
aten::_mkldnn_reshape
aten::_mkldnn_transpose
aten::_mkldnn_transpose_
aten::_nnpack_spatial_convolution
aten::_nnz
aten::_pack_padded_sequence
aten::_pdist_backward
aten::_pdist_forward
aten::_s_where
aten::_sample_dirichlet
aten::_segment_reduce_backward
aten::_softmax
aten::_softmax_backward_data
aten::_solve_helper
aten::_sparse_addmm
aten::_sparse_coo_tensor_with_dims
aten::_sparse_coo_tensor_with_dims_and_tensors
aten::_sparse_log_softmax
aten::_sparse_log_softmax_backward_data
aten::_sparse_mask_helper
aten::_sparse_softmax
aten::_sparse_softmax_backward_data
aten::_sparse_sparse_matmul
aten::_sparse_sum
aten::_sparse_sum_backward
aten::_stack
aten::_standard_gamma
aten::_standard_gamma_grad
aten::_svd_helper
aten::_symeig_helper
aten::_test_optional_filled_intlist
aten::_test_optional_floatlist
aten::_test_optional_intlist
aten::_thnn_fused_gru_cell
aten::_thnn_fused_gru_cell_backward
aten::_thnn_fused_lstm_cell
aten::_thnn_fused_lstm_cell_backward
aten::_trilinear
aten::_unique
aten::_unique2
aten::_unsafe_view
aten::_use_cudnn_ctc_loss
aten::_values
aten::_view_as_real_physical
aten::_weight_norm_cuda_interface
aten::_weight_norm_cuda_interface_backward
aten::abs
aten::abs_
aten::acos
aten::acos_
aten::acosh
aten::acosh_
aten::adaptive_avg_pool2d
aten::adaptive_avg_pool3d
aten::adaptive_avg_pool3d_backward
aten::adaptive_max_pool2d
aten::adaptive_max_pool2d_backward
aten::adaptive_max_pool3d
aten::adaptive_max_pool3d_backward
aten::add
aten::add_
aten::addbmm
aten::addbmm_
aten::addcdiv
aten::addcdiv_
aten::addcmul
aten::addcmul_
aten::addmm
aten::addmm_
aten::addmv
aten::addmv_
aten::addr_
aten::affine_grid_generator
aten::alias
aten::all
aten::amax
aten::amin
aten::angle
aten::any
aten::arange
aten::argmax
aten::argmin
aten::as_strided
aten::as_strided_
aten::asin
aten::asin_
aten::asinh
aten::asinh_
aten::atan
aten::atan2
aten::atan2_
aten::atan_
aten::atanh
aten::atanh_
aten::avg_pool2d
aten::avg_pool2d_backward
aten::avg_pool3d
aten::avg_pool3d_backward
aten::baddbmm
aten::baddbmm_
aten::batch_norm_backward_elemt
aten::batch_norm_backward_reduce
aten::batch_norm_elemt
aten::batch_norm_gather_stats
aten::batch_norm_gather_stats_with_counts
aten::batch_norm_stats
aten::batch_norm_update_stats
aten::bernoulli
aten::bernoulli_
aten::binary_cross_entropy
aten::binary_cross_entropy_backward
aten::binary_cross_entropy_with_logits
aten::bincount
aten::binomial
aten::bitwise_and
aten::bitwise_not
aten::bitwise_not_
aten::bitwise_or
aten::bitwise_xor
aten::bmm
aten::bucketize
aten::cat
aten::cauchy_
aten::ceil
aten::ceil_
aten::celu
aten::celu_
aten::channel_shuffle
aten::cholesky
aten::cholesky_inverse
aten::cholesky_solve
aten::clamp
aten::clamp_
aten::clamp_max
aten::clamp_max_
aten::clamp_min
aten::clamp_min_
aten::clone
aten::col2im
aten::col2im_backward
aten::col_indices
aten::complex
aten::conj_physical
aten::conj_physical_
aten::constant_pad_nd
aten::conv_depthwise3d
aten::conv_depthwise3d_backward
aten::conv_tbc
aten::convolution_backward_overrideable
aten::convolution_overrideable
aten::copy_
aten::copy_sparse_to_sparse_
aten::copysign
aten::copysign_
aten::cos
aten::cos_
aten::cosh
aten::cosh_
aten::count_nonzero
aten::cross
aten::crow_indices
aten::cudnn_affine_grid_generator
aten::cudnn_affine_grid_generator_backward
aten::cudnn_batch_norm
aten::cudnn_batch_norm_backward
aten::cudnn_convolution
aten::cudnn_convolution_add_relu
aten::cudnn_convolution_backward
aten::cudnn_convolution_backward_input
aten::cudnn_convolution_backward_weight
aten::cudnn_convolution_relu
aten::cudnn_convolution_transpose
aten::cudnn_convolution_transpose_backward
aten::cudnn_convolution_transpose_backward_input
aten::cudnn_convolution_transpose_backward_weight
aten::cudnn_grid_sampler
aten::cudnn_grid_sampler_backward
aten::cummax
aten::cummin
aten::cumprod
aten::cumprod_
aten::cumsum
aten::cumsum_
aten::deg2rad
aten::deg2rad_
aten::dense_dim
aten::dequantize
aten::detach
aten::detach_
aten::diag
aten::diagonal
aten::digamma
aten::digamma_
aten::dist
aten::div
aten::div_
aten::dot
aten::eig
aten::elu
aten::elu_
aten::elu_backward
aten::embedding
aten::embedding_dense_backward
aten::embedding_renorm_
aten::empty
aten::empty_quantized
aten::empty_strided
aten::eq
aten::eq_
aten::equal
aten::erf
aten::erf_
aten::erfc
aten::erfc_
aten::erfinv
aten::erfinv_
aten::exp
aten::exp2
aten::exp2_
aten::exp_
aten::expand
aten::expm1
aten::expm1_
aten::exponential_
aten::eye
aten::fake_quantize_per_channel_affine_cachemask
aten::fake_quantize_per_tensor_affine_cachemask
aten::fill_
aten::flip
aten::floor
aten::floor_
aten::floor_divide
aten::floor_divide_
aten::fmax
aten::fmin
aten::fmod
aten::fmod_
aten::frac
aten::frac_
aten::fractional_max_pool2d
aten::fractional_max_pool2d_backward
aten::fractional_max_pool3d
aten::fractional_max_pool3d_backward
aten::frexp
aten::from_file
aten::gather
aten::gcd
aten::gcd_
aten::ge
aten::ge_
aten::gelu
aten::gelu_backward
aten::geometric_
aten::geqrf
aten::get_gradients
aten::glu
aten::glu_backward
aten::grid_sampler_2d
aten::grid_sampler_2d_backward
aten::grid_sampler_3d
aten::grid_sampler_3d_backward
aten::gt
aten::gt_
aten::hardshrink
aten::hardshrink_backward
aten::hardsigmoid
aten::hardsigmoid_
aten::hardsigmoid_backward
aten::hardswish
aten::hardswish_
aten::hardswish_backward
aten::hardtanh
aten::hardtanh_
aten::hardtanh_backward
aten::heaviside
aten::heaviside_
aten::histc
aten::hspmm
aten::huber_loss
aten::huber_loss_backward
aten::hypot
aten::hypot_
aten::i0
aten::i0_
aten::igamma
aten::igamma_
aten::igammac
aten::igammac_
aten::im2col
aten::im2col_backward
aten::index
aten::index_add_
aten::index_copy_
aten::index_fill_
aten::index_put_
aten::index_select
aten::indices
aten::int_repr
aten::inverse
aten::is_coalesced
aten::is_set_to
aten::isin
aten::isnan
aten::isneginf
aten::isposinf
aten::kl_div
aten::kl_div_backward
aten::kthvalue
aten::l1_loss
aten::l1_loss_backward
aten::lcm
aten::lcm_
aten::le
aten::le_
aten::leaky_relu
aten::leaky_relu_
aten::leaky_relu_backward
aten::lerp
aten::lerp_
aten::lgamma
aten::lgamma_
aten::linalg_cholesky_ex
aten::linalg_det
aten::linalg_eig
aten::linalg_eigh
aten::linalg_householder_product
aten::linalg_inv_ex
aten::linalg_lstsq
aten::linalg_qr
aten::linalg_slogdet
aten::linalg_solve
aten::linalg_vector_norm
aten::linspace
aten::log
aten::log10
aten::log10_
aten::log1p
aten::log1p_
aten::log2
aten::log2_
aten::log_
aten::log_normal_
aten::log_sigmoid_backward
aten::log_sigmoid_forward
aten::logaddexp
aten::logaddexp2
aten::logcumsumexp
aten::logdet
aten::logical_and
aten::logical_not
aten::logical_or
aten::logical_xor
aten::logit
aten::logit_
aten::logit_backward
aten::logspace
aten::logsumexp
aten::lstsq
aten::lt
aten::lt_
aten::lu_solve
aten::lu_unpack
aten::masked_fill_
aten::masked_scatter_
aten::masked_select
aten::matrix_exp
aten::max
aten::max_pool2d_with_indices
aten::max_pool2d_with_indices_backward
aten::max_pool3d_with_indices
aten::max_pool3d_with_indices_backward
aten::max_unpool2d
aten::max_unpool2d_backward
aten::max_unpool3d
aten::max_unpool3d_backward
aten::maximum
aten::mean
aten::median
aten::min
aten::minimum
aten::miopen_batch_norm
aten::miopen_batch_norm_backward
aten::miopen_convolution
aten::miopen_convolution_backward
aten::miopen_convolution_backward_bias
aten::miopen_convolution_backward_input
aten::miopen_convolution_backward_weight
aten::miopen_convolution_transpose
aten::miopen_convolution_transpose_backward
aten::miopen_convolution_transpose_backward_input
aten::miopen_convolution_transpose_backward_weight
aten::miopen_depthwise_convolution
aten::miopen_depthwise_convolution_backward
aten::miopen_depthwise_convolution_backward_input
aten::miopen_depthwise_convolution_backward_weight
aten::miopen_rnn
aten::miopen_rnn_backward
aten::mish
aten::mish_
aten::mkldnn_adaptive_avg_pool2d
aten::mkldnn_adaptive_avg_pool2d_backward
aten::mkldnn_convolution
aten::mkldnn_convolution_backward
aten::mkldnn_linear
aten::mkldnn_linear_backward
aten::mkldnn_linear_backward_input
aten::mkldnn_linear_backward_weights
aten::mkldnn_max_pool2d
aten::mkldnn_max_pool2d_backward
aten::mkldnn_max_pool3d
aten::mkldnn_max_pool3d_backward
aten::mkldnn_reorder_conv2d_weight
aten::mkldnn_reorder_conv3d_weight
aten::mm
aten::mode
aten::mse_loss
aten::mse_loss_backward
aten::mul
aten::mul_
aten::multi_margin_loss
aten::multi_margin_loss_backward
aten::multilabel_margin_loss_backward
aten::multilabel_margin_loss_forward
aten::multinomial
aten::mv
aten::mvlgamma
aten::mvlgamma_
aten::nan_to_num
aten::nan_to_num_
aten::nanmedian
aten::nansum
aten::narrow_copy
aten::native_batch_norm
aten::native_batch_norm_backward
aten::native_group_norm_backward
aten::native_layer_norm_backward
aten::native_norm
aten::ne
aten::ne_
aten::neg
aten::neg_
aten::nextafter
aten::nextafter_
aten::nll_loss2d_backward
aten::nll_loss2d_forward
aten::nll_loss_backward
aten::nll_loss_forward
aten::nonzero
aten::norm
aten::normal
aten::normal_
aten::ormqr
aten::permute
aten::poisson
aten::polar
aten::polygamma
aten::polygamma_
aten::pow
aten::pow_
aten::prelu
aten::prelu_backward
aten::prod
aten::put_
aten::q_per_channel_axis
aten::q_per_channel_scales
aten::q_per_channel_zero_points
aten::q_scale
aten::q_zero_point
aten::qscheme
aten::quantize_per_channel
aten::quantize_per_tensor
aten::quantized_batch_norm
aten::quantized_gru
aten::quantized_lstm
aten::quantized_max_pool1d
aten::quantized_max_pool2d
aten::rad2deg
aten::rad2deg_
aten::random_
aten::randperm
aten::range
aten::reciprocal
aten::reciprocal_
aten::record_stream
aten::reflection_pad1d
aten::reflection_pad1d_backward
aten::reflection_pad2d
aten::reflection_pad2d_backward
aten::relu
aten::relu_
aten::remainder
aten::remainder_
aten::renorm
aten::renorm_
aten::repeat
aten::repeat_interleave
aten::replication_pad1d
aten::replication_pad1d_backward
aten::replication_pad2d
aten::replication_pad2d_backward
aten::replication_pad3d
aten::replication_pad3d_backward
aten::resize_
aten::resize_as_
aten::resize_as_sparse_
aten::roll
aten::rot90
aten::round
aten::round_
aten::rrelu_with_noise
aten::rrelu_with_noise_
aten::rrelu_with_noise_backward
aten::rsqrt
aten::rsqrt_
aten::rsub
aten::scatter
aten::scatter_
aten::scatter_add
aten::scatter_add_
aten::searchsorted
aten::segment_reduce
aten::select
aten::set_
aten::sgn
aten::sgn_
aten::sigmoid
aten::sigmoid_
aten::sigmoid_backward
aten::sign
aten::sign_
aten::signbit
aten::silu
aten::silu_
aten::sin
aten::sin_
aten::sinc
aten::sinc_
aten::sinh
aten::sinh_
aten::slice
aten::slogdet
aten::slow_conv3d_backward
aten::slow_conv3d_forward
aten::slow_conv_dilated2d
aten::slow_conv_dilated2d_backward
aten::slow_conv_dilated3d
aten::slow_conv_dilated3d_backward
aten::slow_conv_transpose2d
aten::slow_conv_transpose2d_backward
aten::slow_conv_transpose3d
aten::slow_conv_transpose3d_backward
aten::smooth_l1_loss
aten::smooth_l1_loss_backward
aten::soft_margin_loss
aten::soft_margin_loss_backward
aten::softplus
aten::softplus_backward
aten::softshrink
aten::softshrink_backward
aten::solve
aten::sort
aten::sparse_dim
aten::sparse_mask
aten::sparse_resize_
aten::sparse_resize_and_clear_
aten::special_entr
aten::special_i0e
aten::special_i1
aten::special_i1e
aten::special_xlog1py
aten::split
aten::split_with_sizes
aten::sqrt
aten::sqrt_
aten::square
aten::squeeze
aten::squeeze_
aten::sspaddmm
aten::stack
aten::std
aten::std_mean
aten::sub
aten::sub_
aten::sum
aten::symeig
aten::t
aten::t_
aten::take
aten::tan
aten::tan_
aten::tanh
aten::tanh_
aten::tanh_backward
aten::tensordot
aten::thnn_conv2d_backward
aten::thnn_conv2d_forward
aten::thnn_conv_depthwise2d_backward
aten::thnn_conv_depthwise2d_forward
aten::threshold
aten::threshold_
aten::threshold_backward
aten::to_dense
aten::to_mkldnn
aten::to_sparse
aten::topk
aten::trace
aten::transpose
aten::transpose_
aten::triangular_solve
aten::tril
aten::tril_
aten::tril_indices
aten::triu
aten::triu_
aten::triu_indices
aten::trunc
aten::trunc_
aten::unbind
aten::unfold
aten::unfold_backward
aten::uniform_
aten::unique_consecutive
aten::unique_dim
aten::unique_dim_consecutive
aten::unsafe_split
aten::unsafe_split_with_sizes
aten::unsqueeze
aten::unsqueeze_
aten::upsample_bicubic2d
aten::upsample_bicubic2d_backward
aten::upsample_bilinear2d
aten::upsample_bilinear2d_backward
aten::upsample_linear1d
aten::upsample_linear1d_backward
aten::upsample_nearest1d
aten::upsample_nearest1d_backward
aten::upsample_nearest2d
aten::upsample_nearest2d_backward
aten::upsample_nearest3d
aten::upsample_nearest3d_backward
aten::upsample_trilinear3d
aten::upsample_trilinear3d_backward
aten::values
aten::var
aten::var_mean
aten::vdot
aten::view
aten::view_as_complex
aten::view_as_real
aten::xlogy
aten::xlogy_
aten::zero_