diff options
| author | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-06-07 15:54:24 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-06-07 15:54:24 +0200 | 
| commit | 657789faa7b7d56c61265bacd7998673fc6314fb (patch) | |
| tree | ee6c83ce800bfb87f33b28d0145c18fed43224d3 /Microbenchmarks | |
| parent | 2e02e35ada76c2f5054d9d217009fd9482b242a9 (diff) | |
CPU-DPU: use numa_alloc to ensure correct data placement
Diffstat (limited to 'Microbenchmarks')
| -rw-r--r-- | Microbenchmarks/CPU-DPU/host/app.c | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/Microbenchmarks/CPU-DPU/host/app.c b/Microbenchmarks/CPU-DPU/host/app.c index 3ba59da..be71ff5 100644 --- a/Microbenchmarks/CPU-DPU/host/app.c +++ b/Microbenchmarks/CPU-DPU/host/app.c @@ -122,19 +122,23 @@ int main(int argc, char **argv) {          numa_set_membind(p.bitmask_in);          numa_free_nodemask(p.bitmask_in);      } -#endif - +    A = numa_alloc(input_size * sizeof(T)); +    B = numa_alloc(input_size * sizeof(T)); +#else      A = malloc(input_size * sizeof(T));      B = malloc(input_size * sizeof(T)); +#endif  #if NUMA      if (p.bitmask_out) {          numa_set_membind(p.bitmask_out);          numa_free_nodemask(p.bitmask_out);      } +    C = numa_alloc(input_size * sizeof(T)); +#else +    C = malloc(input_size * sizeof(T));  #endif -    C = malloc(input_size * sizeof(T));      T *bufferA = A;      T *bufferC = C; @@ -330,9 +334,15 @@ int main(int argc, char **argv) {      }      // Deallocation +#if NUMA +    numa_free(A, input_size * sizeof(T)); +    numa_free(B, input_size * sizeof(T)); +    numa_free(C, input_size * sizeof(T)); +#else      free(A);      free(B);      free(C); +#endif      DPU_ASSERT(dpu_free(dpu_set));      return 0; | 
