Re: [OMPI users] Performing partial calculation on a single node in an MPI job

2016-10-18 Thread Vahid Askarpour
Hi George and Jeff,

Thank you for taking the time to respond to my query. You did inspire me in the 
right direction. Some of the variables involved in the calculation of B were 
not broadcast. In addition,
a  double do-loop combined with an IF statement was overwriting on the correct 
B values. Interestingly, none of the variables are declared contiguous. And I 
did not have to convert
B into a 1-D array. So at the end, it all worked out and I get the correct B 
matrix out of the code.

Thank you again,

Vahid


On Oct 17, 2016, at 10:23 PM, George Bosilca 
> wrote:

I should have been more precise: you cannot use Fortran's vector subscript with 
Open MPI.

George.

On Mon, Oct 17, 2016 at 2:19 PM, Jeff Hammond 
> wrote:
George:

http://mpi-forum.org/docs/mpi-3.1/mpi31-report/node422.htm

Jeff

On Sun, Oct 16, 2016 at 5:44 PM, George Bosilca 
> wrote:
Vahid,

You cannot use Fortan's vector subscript with MPI.

--
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/

___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Re: [OMPI users] Performing partial calculation on a single node in an MPI job

2016-10-17 Thread George Bosilca
I should have been more precise: you cannot use Fortran's vector subscript
with Open MPI.

George.

On Mon, Oct 17, 2016 at 2:19 PM, Jeff Hammond 
wrote:

> George:
>
> http://mpi-forum.org/docs/mpi-3.1/mpi31-report/node422.htm
>
> Jeff
>
> On Sun, Oct 16, 2016 at 5:44 PM, George Bosilca 
> wrote:
>
>> Vahid,
>>
>> You cannot use Fortan's vector subscript with MPI.
>>
>
> --
> Jeff Hammond
> jeff.scie...@gmail.com
> http://jeffhammond.github.io/
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
>
___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Re: [OMPI users] Performing partial calculation on a single node in an MPI job

2016-10-17 Thread Jeff Hammond
George:

http://mpi-forum.org/docs/mpi-3.1/mpi31-report/node422.htm

Jeff

On Sun, Oct 16, 2016 at 5:44 PM, George Bosilca  wrote:

> Vahid,
>
> You cannot use Fortan's vector subscript with MPI.
>

-- 
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/
___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Re: [OMPI users] Performing partial calculation on a single node in an MPI job

2016-10-16 Thread George Bosilca
Vahid,

You cannot use Fortan's vector subscript with MPI.  Are you certain that
the arrays used in your bcast are contiguous ? If not you would either need
to move the data first into a single dimension array (which will then have
the elements contiguously in memory), or define specialized datatypes to
match th memory layout of your array subscript.

  George.


On Sun, Oct 16, 2016 at 6:55 PM, Vahid Askarpour  wrote:

> Hello,
>
> I am attempting to modify a relatively large code (Quantum Espresso/EPW)
> and here I will try to summarize the problem in general terms.
>
> I am using an OPENMPI-compiled fortran 90 code in which, midway through
> the code, say 10 points x(3,10) are broadcast  across say 4 nodes. The
> index 3 refers to x,y,z. For each point, a number of calculations are done
> and an array, B(3,20,n) is generated. The integer n depends on the symmetry
> of the system and so varies from node to node.
>
> When I run this code serially, I can print all the correct B values to
> file, so I know the algorithm works.  When I run it in parallel, I get
> numbers that are meaningless. Collecting the points would not help because
> I need to collect the B values. I have tried to run that section of the
> code on one node by setting the processor index “mpime" equal to “ionode"
> or “root” using the following IF statement:
>
> IF (mpime .eq. root ) THEN
> do the calculation and print B
> ENDIF
>
> Neither ionode nor root returns the correct B array.
>
> What would be the best way to extract the B array?
>
> Thank you,
>
> Vahid
>
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users