ios - 金属着色语言中的关键字“设备”是什么意思
问题描述
金属着色语言中的关键字“设备”是什么意思?如:
kernel void add_alps_2d_kernel(const device int *vector1 [[buffer(1)]],
device int vector2 [[buffer(2)]],
uint id [[ thread_position_in_grid ]]) {
}
解决方案
根据语言规范文档
在程序中声明为指针的 Metal 图形和内核函数的参数必须使用 Metal 设备、线程组、threadgroup_imageblock 或常量地址空间属性声明。
此外:
设备地址空间名称是指从设备内存池中分配的既可读又可写的缓冲内存对象。
所以它是一个内存规范,指示指针所在的位置。请注意,const
地址空间属性前面的使用表示它是只读的。您还可以在使用 Metal 中的内存中找到更多信息
推荐阅读
- django - 在 Django 中更新数据库视图结构
- r - 连接R中除最后两列之外的所有列
- android - 如何在订阅 liveData 后仅观察新更新的 liveData
- ios-charts - 如何在图表库的突出显示上为 PieChart 扇区设置动画?
- c# - 如何使用参数运行现有的计划任务?
- java - Log4j2 在 tomcat 的共享类路径中记录类
- python - pip 和 python 的路径不同步?
- python - 如何强制 WAMP 票证身份验证?
- android - 如果我通过 WiFi-Direct 连接 2 台安卓设备 - 一台可以与另一台共享其 Internet 连接吗?
- aem - 在 AEM 6.3 CFP2 中,更改/删除的属性不再冒泡吗?