rocr: Memory copy based on recommended SDMA engines

Recommended SDMA engines for DMA copies are now exposed for better
GPU-GPU performance. ROCr can now select those DMA engines.

Also lock-in host-device copies to SDMA0 and device-host copies to
SDMA1 for better stability and performance.

Change-Id: Ideff2e13daf537104efecb8b837bd49ee5096cb5
This commit is contained in:
Jonathan Kim
2024-08-13 14:54:13 -04:00
parent 2f588a2406
commit eb30a5bbc7
9 changed files with 73 additions and 22 deletions
+3 -2
View File
@@ -115,9 +115,10 @@ class Runtime {
public:
/// @brief Structure to describe connectivity between agents.
struct LinkInfo {
LinkInfo() : num_hop(0), info{0} {}
LinkInfo() : num_hop(0), rec_sdma_eng_id_mask(0), info{0} {}
uint32_t num_hop;
uint32_t rec_sdma_eng_id_mask;
hsa_amd_memory_pool_link_info_t info;
};
@@ -167,7 +168,7 @@ class Runtime {
/// @param [in] link_info The link information between source and destination
/// nodes.
void RegisterLinkInfo(uint32_t node_id_from, uint32_t node_id_to,
uint32_t num_hop,
uint32_t num_hop, uint32_t rec_sdma_eng_id_mask,
hsa_amd_memory_pool_link_info_t& link_info);
/// @brief Query link information between two nodes.