freeon-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Freeon-users] --enable-MPI fixes (hopefully)


From: Jose R. Valverde
Subject: [Freeon-users] --enable-MPI fixes (hopefully)
Date: Wed, 19 Oct 2011 11:17:26 +0200

I keep insisting with MPI.

        While doing the --enable-parallel-clones build, I am trying at the
same time a separate build with --enable-MPI.

        In this case, as reported, the build stops complaining about
NumerikMM.

        A cursory look shows that the only interface that would fit in
those calls is that of NumerikMM_DBSCR, which takes an additional argument
Flag before the last Perf_O. And indeed from the source code in LinAlg.f90
it looks as if this is the function that should be called.

        SUBROUTINE
        NumerikMM_DBCSR(A,B,BMTrix,C,ASMat,BSMat,CSMat,Flag,Perf_O)

        So, I believe that this must have been a refactoring problem where
at some point the interface to NumerikMM_DBSCR was changed and not all
invocations where corrected. Could it be so?

        If so, I guess that although the problem arises in 
LinAlg-preprocessed.f90
one should fix the problem in LinAlg.f90 instead. Right?

        The same seems to happen to SymbolikMM (missing Flag argument before
UpDate).

        Now, fixing those two call interfaces in all instances removes those
two errors leaving only one series that seems to be related to Flag, which is
in all cases likely related to the first error in the compilation

        Flag%I=0 
        1 
        Error: Unclassifiable statement at (1) 

This one looks as another refactoring problem. E. g. in that case, the error
pops up in 

          FUNCTION RecvStruct(From,A,B,U)

where Flag is being used without any previous type definition. Here I am now
stuck. While the other two problems seemed obvious, this series is not so to
me: should Flag be defined as a global, external variable, or should it be
defined internal to each function where it is missing, or should it be passed
as a (missing) argument?

        I have added Flag as a local variable to all functions that required
it, except for NumerikADD where it seems to be needed as a function argument
by subsequent calls. This seems to fix the problem, but as mentioned I do not
know if it is as it should.

        Next, once LinAlg.f90 compiles, I get a similar error about Flag on
FastMat.f90 in Add_LBSCR which I fixed by adding a definition of Flag as a 
local variable.

        I am attaching my (for the time being) modified version of LinAlg.f90   
with the fixes to NumerikMM and to SymbolikMM and the Flag definitions as I 
saw fit/guessed. I am also attaching the modified FastMat.f90

        Compilation is proceeding now, once finished I'll run the validation
checks and let you know how it went.

                                j

-- 
                        EMBnet/CNB
                Scientific Computing Service
        Solving all your computer needs for Scientific
                        Research.

                http://bioportal.cnb.csic.es
                  http://www.es.embnet.org

Attachment: FastMat.f90
Description: Text Data

Attachment: LinAlg.f90
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]