矩阵乘法优化(使用霓虹灯模拟效果与着色器)
Matrix multiplying Optimization ( Using Neon simd vs shader )
我很好奇GLSL/GLSL和NEON 之间有什么区别
我知道GLSL使用GPU内核,NEON使用CPU内核。
然而,我感到困惑的是,当我使用NEON指令将矩阵乘以矩阵时,我不确定这是否是比Shader代码中的矩阵乘以矩阵更好的方法,因为正如你所知,即使NEON的存在有助于更快地计算,GPU的内核也比cpu多得多。
有人知道这两种方式的区别吗?
这很难说,因为您正在讨论主要用于嵌入式应用程序(ARM NEON)的CPU指令集。这对我来说意味着你正在处理一个嵌入式GPU,它在本质上可能是标量,也可能不是标量。较新的GPU是标量的,但较老的体系结构是矢量的,嵌入式体系结构通常在设计方面处于较老的一边。因此,虽然你确信基于NEON的矩阵乘法是SIMD,但在GLSL端,它可能是标量或矢量,具体取决于主机GPU。
但是,所有关于如何操作的讨论在总体方案中都是无关紧要的。真正重要的是为什么执行矩阵乘法。如果它是每个顶点或每个片段都不变化的东西,那么你通常最好在CPU上完成。否则,即使GPU可能有更多的功能单元,你也在浪费计算资源,一遍又一遍地并行进行相同的计算。
你的问题似乎意味着这是一种可以在CPU上完成一次并在着色期间多次使用的方法,这将是一种更好的方法。
相关文章:
- 如何使用Google Mock来模拟gettimeofday()
- G锁定铸造到基础上会释放模拟行为
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 落砂模拟碰撞检测C++和SFML
- 在gtest.中使用fff.h模拟系统API
- 谷歌模拟和覆盖关键字
- 用C#中的并集模拟C++嵌套结构
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 我写了一个C++程序来模拟Enigma机器.我没有得到输出
- 如何模拟不同边数的骰子滚动?
- 模拟持久按键
- 使用SIR模型的疾病爆发模拟
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 转发变量参数列表以模拟 std::thread
- 如何在谷歌模拟中匹配 C 样式数组
- 如何使用兰德随机化模拟点击
- 模拟GPS数据,以便使用Qt与Traccar一起使用
- QKeyPress - 在Qt中模拟按键
- 矩阵乘法优化(使用霓虹灯模拟效果与着色器)