深入理解iOS GPU加速框架Metal及MPS

     iOS的Metal框架是一个类似OpenGL的框架,通过编写shaders(类c代码)运行在GPU上,利用GPU的高并行能力执行并行操作,比如图像处理,卷积神经网络。而MPS就是一套基于Metal框架的库,用户不需要理解Metal的细节,直接调用这些库即可使用高性能处理能力。同时针对卷积神经网络,官方已经提供了MPSCnn库,开发人员可以直接使用该库组件神经网络即可以在移动端iPhone执行神经网络模型,比如图片识别,速度是杠杠的,很多年前,作者曾经利用该库和自己自定义的一些算子实现了实时图片风格化,人物自动抠图等功能,在iPhone上FPS能达到50fps,可见这性能有多好。接下来我们来详细分析下Metal框架及MPS。

OpenGLES

    由于Metal和OpenGLES类似,我们先介绍大家更加熟悉的OpenGL

 

 

这个图里开发者需要重点了解3个模块

 

 

  • 顶点着色器

        开发者用来自定义顶点信息(坐标和颜色),是一段代码。Vertex shader就是调整顶点信息,比如透视图变换,Camera位置调整。有多少个顶点就会调用多少次,如果顶点较少,这里执行较慢的话,性能影响不大。

  • 栅格化

    • 简单来说,比如你告诉GL我想画条线,然后告诉它线的端点坐标是(0,0)和(0,100),那么GL自动脑补出中间100个点的坐标,这个过程就叫栅格化(光栅化),脑补的方法叫线性差值.
    • 复杂点,现在我要画个三角形,给他三个顶点的坐标,它会计算这个三角形里面的所有像素坐标。
    • 再复杂点,不仅仅给顶点坐标,还告诉他(0, 0)坐标
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值