数据预处理算子优化MOAL

简介

当前已提供CPU侧算子的优化,包括ToTensorNormalize,该两个算子均已适配于OpenSora训练预处理阶段,经过验证,在高分辨率场景下性能均可以得到显著提升。

算子优化介绍

  • ToTensor

    • 实现方案:将输入的int8类型数据转换为float格式,并对数组进行统一除以255。
    • 优化方案:使用C++多线程并发实现,避免效率过低的除法的影响,使用了AMD LD3指令优化,增加内存连续性整理等手段进行性能加速。
    • 调用方式:CPU侧数据类型为uint8在初始化原有接口torchvision.transforms.ToTensor后调用时,默认使用优化方案。
  • Normalize

    • 实现方案:对输入的图像数据进行归一化操作。
    • 优化方案:使用C++多线程并发替换原始Python算子,实现性能加速。
    • 调用方式:CPU侧数据类型为float在初始化原有接口torchvision.transforms.Normalize后调用时,默认使用优化方案。