如何解决带有原子函数的 Odd Metal 着色器分析器结果
我已经实现了一个最小的测试计算着色器,以了解 Metal 原子函数的性能,特别是在 atomic_fetch_add_explicit
中使用 atomic_compare_exchange_weak_explicit
的 atomic_uint
和 device
} 地址空间。
在 iPhone 12 Pro 上运行 atomic_fetch_add_explicit
一次、307200 次的计算内核大约需要 50 微秒。每个线程运行 atomic_fetch_add_explicit
10 次大约需要 650 微秒,这是有道理的。但是,我对 Xcode 着色器分析器的逐行性能指标感到困惑:
蓝色、红色和黄色分别表示算术、同步和控制流。根据 Apple's documentation,这个结果意味着原子函数调用每个占用函数总运行时间的 0%:
但显然事实并非如此,因为每个线程从 1 次调用到 10 次调用,我的时间花费大约增加了 10 倍。
这是一个 Xcode 错误,还是我在这里遗漏了什么?答案赞赏,来源的答案加倍赞赏。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。