Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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 奇数金属着色器探查器结果与原子函数_Ios_Xcode_Gpgpu_Metal - Fatal编程技术网

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错误,还是我遗漏了什么?答案受到赞赏,来源的答案受到双重赞赏。:)