freeon-devel
[Top][All Lists]
Advanced

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

Re: [FreeON-devel] problem of compiling Modules/LinAlg.F90 using mpif90


From: Gao Bin
Subject: Re: [FreeON-devel] problem of compiling Modules/LinAlg.F90 using mpif90 (backend compiler ifort)
Date: Sun, 27 May 2012 18:49:52 +0000

Hi, Matt

Thank you for your detailed reply. Indeed, I used "./configure --enable-MPI" 
which I guess produced the problem. Therefore, for the time being, should I 
compile FreeON with "--enable-parallel-clones" and run the program within one 
node (different nodes connect using distributed memory)?

Moreover, I will first use FreeON to get the ground state of a big molecule 
(probably hundreds of atoms or more), and perform further property calculations 
using my code. Therefore, may I ask the following questions?

(1) Could I get the atomic orbital density and Fock matrix from FreeON by using 
some keywords? Or are they saved in some files? Or do I need to modify the code 
to write these matrices?

(2) At first, I will calculate a molecule with around 200-300 atoms containing 
H, C, N and O elements, with at least 6-31G basis sets or larger ones, for 
instance 6-31G*. I guess it should be possible for FreeON, right? What is the 
maximum number of atoms I could try with 6-31G basis set?

(3) As regards basis sets, may I ask if FreeON uses spherical Gaussian type 
orbitals (GTOs), or Cartesian GTOs, or both? Besides, what is the order of 
these GTOs? For instance, some programs use -l, -l+1, ..., 0, ..., l-1, l for 
spherical GTOs, and Gaussian 03/09 uses a bit weird (my personally feeling) 
Cartesian GTOs, while Dalton uses, for example, xx, xy, xz, yy, yz, zz. So May 
I ask what is the order of FreeON uses (since I need to know these order and 
the integrals from FreeON)?

Sorry to raise so many questions. Thank you so much!

Cheers

Gao
________________________________________
From: Matt Challacombe address@hidden
Sent: Sunday, May 27, 2012 6:39 PM
To: address@hidden
Cc: Gao Bin
Subject: Re: [FreeON-devel] problem of compiling Modules/LinAlg.F90 using 
mpif90 (backend compiler ifort)

Hi Gao,

It looks like you are trying to activate the "non-clone-parallelism"
or "spatial parallelism"  in FreeON.  We are no longer supporting this
parallelism at this
time -- frankly its broken all over the code.  I'm sure it could be
fixed with a bit of effort, but we are developing an alternative model
now to replace it, based more on simple task parallelism, generalized
N-body formalism and targeting many core platforms (ie knights
corner).   Our hope
is that this unified approach will be much simpler to develop and maintain,
and achieve high performance through using advanced programming models.

Currently, we are using serial code to carry out some (for us) pretty
big calculations, involving NEB with ~300+ atoms.   Have you tried
just serial
for your problem yet?

If you are really determined to get the MPI code going again, we can try to
help some.  I'd suggest leaving it off for the linear algebra, since
its the most
complicated part, and also because its the fastest too.  You can pretty simply
mix and match parallel between subprograms.

Also, if you are running on SMP type boxes, it would be much easier to just
throw in a few open mp pragmas to get the same (or better) effect....
I'd be much more interested in trying to support that as an interim
approach rather than trying to fix the broken MPI.

All the best, Matt

On Sun, May 27, 2012 at 9:05 AM, Gao Bin <address@hidden> wrote:
> Dear Sirs,
>
> Recently, I planed to use FreeON to calculate some large molecules. Before
> that, I guess it might be better I have a MPI version of FreeON. I
> downloaded the latest version freeon-beta-2012-05-03, and using internal
> HDF5 library and MKL BLAS/LAPACK libraries. It however failed when compiling
> Modules/LinAlg.F90 as shown in the following. Moreover, I have changed
> "SymbolikMM(A,B,C,UpDate)" to "SymbolikMM(A,B,C,Flag,UpDate)",
> "NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)" to
> "NumerikMM(A,B,BMTrix,C,1,1,1,Flag,Perf_O)", but I then got the same error
> (no matching specific subroutine) for "CALL SetEq(Flag,0)", "CALL
> New(Flag,NAtoms)", "CALL Delete(Flag)". Could you please have a look and
> give me some suggestions about how to fix it? Thank you so much.
>
> Cheers
>
> Gao
>
> The error when compiling Modules/LinAlg.F90:
>
>     /bin/sh ../libtool  --tag=FC --silent  --mode=compile mpif90
> -DHAVE_CONFIG_H -I. -I..  -I../hdf5-1.8.3/src  -g -O3 -no-prec-div -fpe0
> -xHost -I. -I../Modules -I. -I..  -I./MMA/LookUpTables -I./MMA/Functionals
> -I./MMA/PAC   -c -o LinAlg.lo LinAlg.F90
> LinAlg.F90(861): warning #8093: A do-variable within a DO body shall not
> appear in a variable definition context.   [N]
>         RecvPrior%I(K)=RecvStruct(N,A,B,U(N))
> ----------------------------------^
> LinAlg.F90(862): warning #8093: A do-variable within a DO body shall not
> appear in a variable definition context.   [N]
>         SendPrior%I(K)=SendStruct(N,A,B,V(N))
> ----------------------------------^
> LinAlg.F90(999): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [SYMBOLIKMM]
>     CALL SymbolikMM(A,B,C,UpDate) ! Local
> ---------^
> LinAlg.F90(1003): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [SYMBOLIKMM]
>         CALL SymbolikMM(A,U(From),C,.TRUE.) ! Non-local
> -------------^
> LinAlg.F90(1027): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1029): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1030): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,2,2,Perf_O)
> -----------^
> LinAlg.F90(1032): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1033): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,2,1,2,Perf_O)
> -----------^
> LinAlg.F90(1035): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1036): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,2,2,2,Perf_O)
> -----------^
> LinAlg.F90(1038): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1039): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,2,2,Perf_O)
> -----------^
> LinAlg.F90(1040): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,3,3,Perf_O)
> -----------^
> LinAlg.F90(1041): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,4,4,Perf_O)
> -----------^
> LinAlg.F90(1043): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1044): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,2,1,2,Perf_O)
> -----------^
> LinAlg.F90(1045): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,3,1,3,Perf_O)
> -----------^
> LinAlg.F90(1046): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,4,1,4,Perf_O)
> -----------^
> LinAlg.F90(1048): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,1,1,Perf_O)
> -----------^
> LinAlg.F90(1049): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,2,3,1,Perf_O)
> -----------^
> LinAlg.F90(1050): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,1,2,2,Perf_O)
> -----------^
> LinAlg.F90(1051): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,2,4,2,Perf_O)
> -----------^
> LinAlg.F90(1052): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,3,1,3,Perf_O)
> -----------^
> LinAlg.F90(1053): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,4,3,3,Perf_O)
> -----------^
> LinAlg.F90(1054): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,3,2,4,Perf_O)
> -----------^
> LinAlg.F90(1055): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>       CALL NumerikMM(A,B,BMTrix,C,4,4,4,Perf_O)
> -----------^
> LinAlg.F90(1100): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>           CALL NumerikMM(A,U(From),UMTrix(Q:),C,1,1,1,Perf_O)
> ---------------^
> LinAlg.F90(1102): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>           CALL NumerikMM(A,U(From),UMTrix(Q:),C,1,1,1,Perf_O)
> ---------------^
> LinAlg.F90(1103): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>           CALL NumerikMM(A,U(From),UMTrix(Q:),C,1,2,2,Perf_O)
> ---------------^
> LinAlg.F90(1105): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>           CALL NumerikMM(A,U(From),UMTrix(Q:),C,1,1,1,Perf_O)
> ---------------^
> LinAlg.F90(1106): error #6285: There is no matching specific subroutine for
> this generic subroutine call.   [NUMERIKMM]
>           CALL NumerikMM(A,U(From),UMTrix(Q:),C,2,1,2,Perf_O)
> ---------------^
> /tmp/ifort3Msqv9.i90(3820): catastrophic error: Too many errors, exiting
> compilation aborted for LinAlg.F90 (code 1)
> make[2]: *** [LinAlg.lo] Error 1
> make[2]: Leaving directory `/home/gaobin/freeon-beta-2012-05-03/Modules'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/gaobin/freeon-beta-2012-05-03'
> make: *** [all] Error 2
>
>
> _______________________________________________
> FreeON-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/freeon-devel
>



reply via email to

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