OpenMp里设为firstPrivate的指针数组如何生成各个线程的副本??

tiantian111hao 2012-05-21 12:41:28
以下是代码片段
bool **comMatrix; int stemCount;
#pragma omp parallel num_threads(2) firstprivate(comMatrix,stemCount)
{
initInd(comMatrix,stemCount);
}

查看comMatrix的地址发现两个线程中这个变量的地址是一样的,前面发帖问过,是因为指针做参数传递,本来就是传地址,现在的问题是这样的:要在两个线程中生成不同的comMatrix的副本,怎么办呢?
...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
modyaj 2012-05-22
  • 打赏
  • 举报
回复
楼上说的不错 我当时为了使用指针 是在各个线程中申请空间的 这样就保证了每个线程操作不同的内存
liuyali 2012-05-22
  • 打赏
  • 举报
回复
设置成private变量,各个线程就自然是不同的副本了。
你的指针变量,应该在线程内申请内存的

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧