我写了一个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