Objective c AMDRadeonX6000MTLDriver的用途是什么?
我以前问过,但我觉得这已经足够不同了,足以证明它有自己的思路 出于好奇,我试图了解金属内核和API调用是如何映射到我的MacBookPro的AMD Radeon Pro 5500M的。我编写了一个简单的Metal程序并在lldb下运行,看到它引入了很多动态库,但其中一个特别吸引我:Objective c AMDRadeonX6000MTLDriver的用途是什么?,objective-c,macos,metal,Objective C,Macos,Metal,我以前问过,但我觉得这已经足够不同了,足以证明它有自己的思路 出于好奇,我试图了解金属内核和API调用是如何映射到我的MacBookPro的AMD Radeon Pro 5500M的。我编写了一个简单的Metal程序并在lldb下运行,看到它引入了很多动态库,但其中一个特别吸引我: 它在我的笔记本电脑上的完整路径是/System/Library/Extensions/AMDRadeonX6000MTLDriver.bundle/Contents/MacOS/AMDRadeonX6000MTLD
- 它在我的笔记本电脑上的完整路径是
/System/Library/Extensions/AMDRadeonX6000MTLDriver.bundle/Contents/MacOS/AMDRadeonX6000MTLDriver
表示它是一个“Mach-O 64位动态链接共享库x86_64”文件AMDRadeonX6000MTLDriver
- 在我的可执行文件上,
没有将其显示为链接的动态库,而是在执行时显示为“延迟加载”otool-L
表示它包含来自AMD开源ROCr运行时的符号超集,如nm
,尽管我还并没有找到我的程序实际调用的符号超集HSA::HSA_init()
- 它还包含一些Objective-C/Objective-C++符号,这些符号可能对应于“低级”GPU编程操作,例如
,它可能在GPU上进行分配amdmtlppMemMgraloc(id,unsigned int,unsigned int)