- 主题:怎么设置openmp中的private变量?
请教一下各位:
想用openmd并行计算一个复杂模型,该模型有约200个变量。
希望并行过程中,各线程之间的变量是独立的,就像用多台计算机分别运行模型一样。
只能在openmp中,利用private把模型中的200各变量都设置一下吗?
还是有别的办法?
#pragma omp parallel for private(???)
for ( k=0; k < 10000; k++)
{
model();//复杂模型,变量200个
}
另外,如果我把这个复杂模型设置成一个类,在并行过程中在实例化这个类,能否使模
型的各变量在线程间独立?
--
FROM 61.178.84.*
struct
【 在 wtian (967) 的大作中提到: 】
: 请教一下各位:
: 想用openmd并行计算一个复杂模型,该模型有约200个变量。
: 希望并行过程中,各线程之间的变量是独立的,就像用多台计算机分别运行模型一样。
: ...................
--
FROM 171.214.218.*
这样的需求,为什么不用 MPI
【 在 wtian (967) 的大作中提到: 】
: 请教一下各位:
: 想用openmd并行计算一个复杂模型,该模型有约200个变量。
: 希望并行过程中,各线程之间的变量是独立的,就像用多台计算机分别运行模型一样。
: ...................
--
FROM 58.48.87.*
这个用个线程池就行了,没必要上openmp。
【 在 wtian 的大作中提到: 】
: 请教一下各位:
: 想用openmd并行计算一个复杂模型,该模型有约200个变量。
: 希望并行过程中,各线程之间的变量是独立的,就像用多台计算机分别运行模型一样。
: ...................
--
FROM 120.244.156.*
谢谢了,我试试一下。
【 在 liuzhi (一只单眼皮一只双眼皮) 的大作中提到: 】
: struct
--
FROM 61.178.84.*
因为是初学,所以觉得mpi更复杂,就选择了openmp。
如果openmp确实不好实现这个需求,看来还是要学mpi了。
谢谢指点。
【 在 Quanm (胖子) 的大作中提到: 】
: 这样的需求,为什么不用 MPI
--
FROM 61.178.84.*
查了下,好像线程池比openmp实现更复杂呀,
而且没有现成方案。
谢谢建议。
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 这个用个线程池就行了,没必要上openmp。
--
FROM 61.178.84.*
openmp 的模型是共享内存多线程,要的就是共享的方便。
你这个方案反其道而行之,自然就别扭了。
你要的实际上是不共享内存的多线/进程模型。
【 在 wtian (967) 的大作中提到: 】
: 因为是初学,所以觉得mpi更复杂,就选择了openmp。
: 如果openmp确实不好实现这个需求,看来还是要学mpi了。
: 谢谢指点。
: ...................
--
修改:Quanm FROM 58.48.87.*
FROM 58.48.87.*
MPI的各线程是变量独立的,通过MPI_send在线程间传值
【 在 wtian 的大作中提到: 】
: 查了下,好像线程池比openmp实现更复杂呀,
: 而且没有现成方案。
: 谢谢建议。
: ...................
--
FROM 221.225.205.*