N.M. Maclaren wrote:
>> On May 10 2010, Kawashima wrote:
>
>> If we use OpenMP with MPI, we need at least MPI_THREAD_FUNNELED even
>> if MPI functions are called only outside of omp parallel region,
>> like below.
>>
>> #pragma omp parallel for
>> for (...) {
>> /* computation */
>> }
>> MPI_Allreduce(...);
>> #pragma omp parallel for
>> for (...) {
>> /* computation */
>> }
>
> I don't think that's correct. That would call MPI_Allreduce once for
> each thread, in parallel, on the same process - which wouldn't work.
Just a minor nit: The code above calls MPI_Allreduce outside of
parallel regions rather than specifying that each OMP thread should make
the call in parallel. But, don't let that nit be a distraction from the
rest of the e-mail conversation.
|