Ios 奇数金属着色器探查器结果与原子函数
我已经实现了一个最小的测试计算着色器,以便对金属原子函数的性能有一个感觉,特别是在Ios 奇数金属着色器探查器结果与原子函数,ios,xcode,gpgpu,metal,Ios,Xcode,Gpgpu,Metal,我已经实现了一个最小的测试计算着色器,以便对金属原子函数的性能有一个感觉,特别是在设备地址空间中使用原子单元,使用设备地址空间中的原子获取
设备
地址空间中使用原子单元
,使用设备
地址空间中的原子
获取和原子
在iphone12pro上运行一个计算内核,该内核运行一次(307200次)原子获取添加显式,大约需要50微秒。每个线程运行atomic\u fetch\u add\u explicit
10次需要大约650µs,这很有意义。但是,我对Xcode着色器探查器的逐行性能指标感到困惑:
蓝色、红色和黄色分别表示算术、同步和控制流。根据,此结果意味着原子函数调用每次占用函数总运行时间的0%:
函数体中行的统计信息表示时间占函数总运行时间的百分比
然而很明显,情况并非如此,因为当我从每个线程一个调用增加到十个调用时,我的时间开销大约增加了十倍
这是一个Xcode错误,还是我遗漏了什么?答案受到赞赏,来源的答案受到双重赞赏。:)