Replies: 2 comments 3 replies
-
The memory detection is done only once: first a memory allocation hook adds entries to the cache as "unknown" memory type, and the first time this entry is used in send/recv operation the actual type is detected and stored back in the cache. |
Beta Was this translation helpful? Give feedback.
3 replies
-
@EmmaLee-c I will look into this, thank you for pointing it out. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
At present, even if UCX_MEMTYPE_CAHE=yes is enabled, ucx still needs to perform memory type detection when processing send/recv data and finding addresses in memtype cache:
tag_recv.c:70 UCX REQ req 0x18b2d40: recv_nbx buffer 0x7ff399200000 dt 0x8 count 4194304 tag 640000000000/ffffffffffffffff
memtype_cache.c:356 UCX DATA 0x7ff399200000..0x7ff399600000 found in 0x189d330 [0x7ff399200000..0x7ff399600000] unknown dev
ucp_context.h:683 UCX REQ address 0x7ff399200000 length 4194304: memtype cache returned 'unknown'
ucp_context.c:2516 UCX REQ address 0x7ff399200000 length 4194304: md rocm_cpy detected as type 'rocm' GPU3
Moreover, if the address cannot be found in memtype cache, it may also be mistakenly classified as a host type.
So, may I ask, what is the function of UCX_MEMTYPE_CAHE?
Thank you very much for your answer!
Beta Was this translation helpful? Give feedback.
All reactions