Ios stage_in在金属计算函数中的用法
我正在阅读苹果的Ios stage_in在金属计算函数中的用法,ios,indexing,gpu,metal,Ios,Indexing,Gpu,Metal,我正在阅读苹果的金属着色语言规范,我想知道中的stage_参数。文档说这个标识符可以用来实现每个线程的输入 内核函数中的stage_in属性允许 您需要解耦用于在中声明每线程输入的数据类型 用于存储每个线程的实际数据类型的函数 投入 现在,对于内核着色器来说,这是非常典型的情况,它需要在数据的大容器中进行一些繁重的计算。例如,如果要通过Metalshader实现矩阵乘法,则必须将该数据传递给GPU,并在每个GPU线程中提取必要的片段以执行乘法。我注意到,Metalshader中最大的瓶颈之一是对
金属着色语言
规范,我想知道中的stage_
参数。文档说这个标识符可以用来实现每个线程的输入
内核函数中的stage_in属性允许
您需要解耦用于在中声明每线程输入的数据类型
用于存储每个线程的实际数据类型的函数
投入
现在,对于内核着色器来说,这是非常典型的情况,它需要在数据的大容器中进行一些繁重的计算。例如,如果要通过Metal
shader实现矩阵乘法,则必须将该数据传递给GPU,并在每个GPU线程中提取必要的片段以执行乘法。我注意到,Metal
shader中最大的瓶颈之一是对这样的数组进行动态索引,有时很难避免
因此,我从金属着色语言
规范中了解到,参数中的stage_解决了这个问题。它允许以某种方式(不是以某种方式,而是使用属性机制)只将必要的数据段链接到每个GPU线程,并且我不需要使用动态索引从数组中提取数据,因为函数从一开始就链接到所需的数据段
我是在分析如何使用<代码> StaseEy < <代码> >内核< /COD>着色器,但现在我有了第二个想法——我的假设对<代码> StisteOy在< /代码>中是否正确?它解决了动态索引的问题吗