Dear list, I work on two AMD EPYC 7713 64-Core processors. There are 8 dies per processor containing 8 cores. The machine has 512 GB of main memory available and 112 GB of swap. The operating system is Debian.
I use hwloc_set_area_membind() to optimize memory access. Now I came across behavior I cannot explain. When I do not use memory binding this behavior will not occur. I can only use part of the main memory depending on how many dies I use. An example: I use 8 processors for a calculation. I distribute them so that I fill 1 die à 8 cores completely. When I now allocate more than 32 GB (1/16 of main memory) of memory the first 32 GB will be stored in main memory but the remaining memory will be stored in swap. When I use 8 dies à 8 cores the first 256 GB (1/2 of main memory) will be written into the main memory until the rest gets stored into the swap and so on. Is there a way to circumvent this behavior? Thanks in advance. PS: This is the output of lstopo -.synthetic: Package:2 [NUMANode(memory=270369247232)] L3Cache:8(size=33554432) L2Cache:8(size=524288) L1dCache:1(size=32768) L1iCache:1(size=32768) Core:1 PU:2(indexes=2*128:1*2) Mike
_______________________________________________ hwloc-users mailing list hwloc-users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/hwloc-users