用于文件I / O的OpenMP“master”

时间:2012-07-06 15:44:06

标签: c++ parallel-processing openmp

我正在尝试使用OpenMP并行化以下函数。如果我使用#pragma omp parallel for private(dbf,t_tmp),我在读取数据库文件时会得到一个BAD_EXEC。 PreFilter是计算最密集的任务,应该并行化。最佳情况是PreFilter的IO和从属的一个主线程。这是可以使用OpenMP还是我应该使用pthreads?

for(int it=1; it <= dbfiles->size(); ++it) 
{
    ...

    dbf = openFILE(db_result->db_name,(char *)&id);
    ...
    readHMMFile(dbf,db_result->db_name,filename,t_tmp[curr_index],start_pos);   
    if(curr_index==0){ // modulo 4 ==0
          t_vec[bin]->MapFourHMMsToHMM4(t_tmp[0],t_tmp[1],t_tmp[2],t_tmp[3]);
          PreFilter(q_vec,t_vec[bin]);
    }
    fclose(dbf);
}

0 个答案:

没有答案