如何在 Metal API in iOS 中使用计算函数进行乘法运算
How to use compute function in Metal API in iOS for Multiplication
我是 iOS 中 Metal API 的新手。所以我的问题是,如何使用 Metal 计算函数进行乘法运算,例如,
假设我们有两个长度为 2048 的 float[] 数组,我们想将相应的元素相乘形成另一个 2048 的 float[] 数组
像这样
res[i] = a[i] * b[i];
使用 a[] 和 b[] 2048 个浮点数的数组
and res[] 另一个 2048 个浮点数数组
下一步是执行 "operation",2048 次。
有人可以帮我解决这个问题吗?
如果可能的话,我需要在Objective-c中这样做,但我也可以阅读swift。
提前谢谢你。
您应该从一个工作示例开始,然后根据您的需要对其进行调整。这是一个 prefix sum implementation,运行 在 Metal 之上。这是一个渲染实现,而不是计算着色器,因此它能够 运行 在 A7 芯片上有效。
本教程:https://machinethink.net/blog/mps-matrix-multiplication/
还有这个:https://www.youtube.com/watch?v=lSofOJrFsJ4&ut=
真的帮了我大忙!
我是 iOS 中 Metal API 的新手。所以我的问题是,如何使用 Metal 计算函数进行乘法运算,例如,
假设我们有两个长度为 2048 的 float[] 数组,我们想将相应的元素相乘形成另一个 2048 的 float[] 数组
像这样
res[i] = a[i] * b[i];
使用 a[] 和 b[] 2048 个浮点数的数组
and res[] 另一个 2048 个浮点数数组
下一步是执行 "operation",2048 次。
有人可以帮我解决这个问题吗?
如果可能的话,我需要在Objective-c中这样做,但我也可以阅读swift。
提前谢谢你。
您应该从一个工作示例开始,然后根据您的需要对其进行调整。这是一个 prefix sum implementation,运行 在 Metal 之上。这是一个渲染实现,而不是计算着色器,因此它能够 运行 在 A7 芯片上有效。
本教程:https://machinethink.net/blog/mps-matrix-multiplication/ 还有这个:https://www.youtube.com/watch?v=lSofOJrFsJ4&ut=
真的帮了我大忙!