muPP 开发者指南
muPP(MUSA Performance Primitives)是 MUSA SDK 提供的 GPU 加速二维图像与信号处理函数库,专为图像处理、计算机视觉和信号处理应用设计。该库以最小开发成本为应用添加 GPU 加速能力,也可与自定义 GPU 代码协同使用。开发者通过调用 muPP 即可充分利用 MUSA GPU 的大规模并行计算资源,同时显著缩短开发周期。
概述
什么是 muPP
muPP(MUSA Performance Primitives,基础性能元库)是一个提供丰富原语函数的 GPU 加速图像与信号处理库。该库在设计上追求灵活性与高性能的统一:以高度优化的 MUSA 内核实现各类计算密集型操作,使开发者能够在数小时内将 GPU 加速能力集成到现有应用中。
关键特性
图像处理
muPP 库提供全面的二维图像处理功能:
- 颜色转换:BGR/RGB 与 YUV、NV12、HLS、HSV、Lab、XYZ 等色彩空间互转,Bayer 去马赛克,Gamma 校正,Alpha 合成,Color LUT
- 几何变换:仿射变换、透视变换、旋转、缩放、镜像、重映射、裁剪、转置
- 卷积与滤波:任意核大小二维卷积、高斯滤波、中值滤波、双边滤波、方框滤波、维纳滤波、锐化、反锐化掩蔽、低通/高通滤波
- 边缘检测:Sobel、Prewitt、Scharr、Laplacian、Roberts、Canny 等算子
- 形态学操作:膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、底帽
- 图像分割与分析:分水岭分割、连通域标记、距离变换、Flood Fill、Hough 直线检测、Harris 角点检测、HOG 特征
- 算术与逻辑运算:像素级加减乘除、位运算、阈值处理、比较操作
- 统计操作:均值、标准差、最大/最小值、范数、积分图
- 通道操作:通道复制、提取、插入、交换、打包/解包
信号处理
muPP 提供一维信号(向量)基础运算能力:
- 逐元素运算:绝对值、平方根、指数、对数、三角函数等
- 算术运算:向量加减乘除(含常数变体、原地变体)
- 逻辑运算:与、或、异或、非、位移操作
- 统计分析:均值、标准差、最大/最小值、范数、误差度量、过零检测
- 距离计算:全/同/有效区域归一化平方距离
高性能计算
muPP 库针对 MUSA 架构进行了深度优化: