我寫了一個C++ openmp代碼,它在並行區域中有一個動態分配的內存私有變量,該區域在while循環中。內存動態分配在每個循環的並行區域結束時釋放。我正在通過linux機器上的/ proc/self/stat文件監視內存,在每次分配和釋放後。我在居民組大小中發現一些內存較少。爲什麼這樣?該代碼是一樣的東西 -C++ OpenMP代碼中的內存泄漏
float *dynm;
while(condition)
{
pragma omp parallel shared(list of variables) private(dynm)
{
read_values_from_/proc/self/stat_print_rss;
dynm = new float[size];
read_values_from_/proc/self/stat_print_rss;
pragma omp for schedule(static, chunk) nowait
for(counter)
{
do_operation;
}
delete []dynm;
read_values_from_/proc/self/stat_print_rss;
}
}
'do_operation'裏有什麼? – Hbcdev
dynm數組已被線程用於計算 – Abhi