#pragma once #include #ifdef __METAL__ enum class EmbeddingBagMode { SUM = 0, MEAN, MAX }; #else #include using at::native::EmbeddingBagMode; #endif template struct EmbeddingBagParams { ::c10::metal::array weight_strides; ::c10::metal::array output_strides; ::c10::metal::array max_indices_strides; idx_type_t per_sample_weights_stride; idx_type_t num_indices; idx_type_t num_bags; idx_type_t feature_size; EmbeddingBagMode mode; int64_t padding_idx; };