已关闭
[Requirement|需求建议]: 新增Bucketizev2算子 #2361
李鑫创建于  4月27日关闭于  4月27日
李鑫
李鑫成员
4月27日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

新增Bucketizev2算子,对标PyTorch的torch.bucketize功能,用于将连续数值映射到离散区间

>>> boundaries = torch.tensor([0, 10, 100], dtype=torch.float32)
>>> input = torch.tensor([[-5, 10000], [150, 10], [5, 100]], dtype=torch.float32)
>>> output = torch.bucketize(input, boundaries)
>>> output
tensor([[0, 3],
        [3, 2],
        [1, 3]])

Origin(信息来源)

图灵设计团队

Benefit / Necessity (价值/作用)

推荐网络有用到此算子,当前使用AICPU实现,整网占比8%

Design(设计方案)

全载模板:boundary常驻UB,每次查询无需重复搬运, 使用simd二分查找
级联查找模板:对boundary进行采样,采样的边界放入UB,先用采样边界进行粗粒度二分查找,确定大致区间,再在细分区间内进行精确二分查找

likedislike
李鑫李鑫成员
4月27日 添加了label:requirement
李鑫
李鑫成员
4月27日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
4月27日 将 lixin433 设为负责人
CANN-robotCANN-robot成员
4月27日 关闭了 issue
CANN-robotCANN-robot成员
4月27日 添加了label:resolved