本文介绍了DirectX 12在多插槽NUMA系统上上传堆分配。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的,
>

Dear all,




有没有人知道是否可以用CreateCommittedResource分配一个驻留在CPU 2内存中的上传堆?我们有一个双插槽Xeon v4系统,每个CPU都有一个GPU连接在其PCIe通道上。我们希望
为CPU1上的GPU1和CPU2上的GPU2分配内存,这似乎适用于使用Windows Numa API的常规系统内存。但是对于DirectX 12上传堆似乎它不符合Numa的Windows内存分配规则,
只是将它们放在CPU1的内存中。 

does anyone know if it somehow possible to allocate with CreateCommittedResource an upload heap that resides in the memory of CPU 2? We have a dual socket Xeon v4 system and to each CPU there is a GPU attached over its PCIe lanes. We would like to allocate memory for GPU1 on CPU1 and for GPU2 on CPU2, which seems to work for regular system memory using the Windows Numa APIs. However for the DirectX 12 upload heaps it seems that it does not adhere the windows memory allocation rules for Numa, and simply always places them in the memory of CPU1. 




Best,

Best,

Chi

推荐答案

感谢您在此处发布。

>>但是对于DirectX 12上传堆似乎它不符合Windows内存分配规则对于Numa,并且只是将它们放在CPU1的内存中。 

您能否提供有关如何调用CreateCommittedResource方法的更多信息?

Could you please provide more information about how do you call CreateCommittedResource method?

您是否尝试过使用函数指定内存分配的首选节点?

Have you tried to use VirtualAllocExNuma function to specify a preferred node for the memory allocation?

您可以按照此文档在下面查看NUMA方法是否适用于您的DirectX 12流程。

You could follow this document below to see if the NUMA methods could work with your DirectX 12 process.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx

最好的问候,

Baron Bi


这篇关于DirectX 12在多插槽NUMA系统上上传堆分配。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 11:49