Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios stage_in在金属计算函数中的用法_Ios_Indexing_Gpu_Metal - Fatal编程技术网

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在< /代码>中是否正确?它解决了动态索引的问题吗