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: Mon, 28 May 2012 21:43:43 +0000

Hi, Matt

Thank you again for your help.

>> But I did not find any openmp directive in the source codes. What should I 
>> do to use FreeON, let us say, in a node with 8 CPUs using openmp?
>>
> Currently, that code is not available to you (its in beta, and just
> for the linear algebra: SpAMMPack).  If it turns out you really want
> this,
> we could prob get it going in a couple days with modest efficiency.
> If the rest of your project with FreeON looks viable, I'd be willing
> to try and
> get that working for/with you.

I just prepared the input file, which contains 642 atoms. I will first try 
HF/STO-2G to check if it works for the sequential code, also this may be used 
as an initial guess for B3LYP/6-31G* or even larger basis sets. If I get the 
electronic structure of this system, I will probably try an even larger system 
containing ~1300 atoms. I will write to you if I need the openmp code. Thank 
you.

> If your code reads a dense matrix, you can use SetEq to convert from
> BCSR to DBL_RNK2, and put the RNK2 into the HDF (or whatever).
> Alternatively, you can put the BCSR to disk, and take the BCSR
> formatted read code from InOut (thats probably easier).   In either
> case,  the AO density matrix is available after
> RHeqs or SP2 is run.  The AO Fock matrix should be available after
> FockBuild is run.  If its not lableled "ortho" its probably "AO".
> Turning "MaxDebug" in
> your input file should give you the subprograms invocation in your run.

Ah, sorry, I misunderstood. I thought the "format" means HDF5. I will use the 
Fock matrix to construct the left hand side of a linear equation, it would be 
better that I use BCSR format to save memory. Or indeed, I will use PETSc 
library, so I may need to transform to its format of sparse matrix.

> I only need SCF calculations, and will probably require 5-6 digits. The 
> molecule is like protein, so the band gap should be OK. Our computer clusters 
> here either have 8 CPUs or 12 CPUs per node (around 2.7 GHz), with 16GB or 24 
> GB memory. May I ask, from your experience, how long a calculation of 3-4K 
> atoms with 6-31G will take on this machine? Thank you.

> 5-6 digits is somewhere between our thresholds "Loose"  (4-5) and
> "Good" (6-7).  I'd try first with "Loose" accuracy in your preliminary
> work.
> I think 24GB may be too small for 3-4K atoms.  You will probably have
> to experiment to see how big you can go.  The matrix allocation is I
> believe wired to allocate full (N^2) matrices,
> for generality.  We can talk about a more agressive O(N) allocation
> scheme (its in the code, just needs activation) that will require a
> little experimentation
> to get right for your specific case.  I'll show you when time comes.
> This is a bit of a pain, and one reason we are re-writing the linear
> algebra from ground up (again).

Do I need the O(N) allocation when I start to calculate the large system, for 
instance ~1300 atoms, or ~2000 atoms?

>>          20           0           0           3
>> which look like FreeON starts from xxx to the yyy corner, and then xxz down 
>> to yyz, and finally the zzz corner. This is great, since my code uses the 
>> same indexing.
>
> Yeah, I'm pretty sure thats (close to) standard. I'm not sure
> F-functions are "on" everywhere in your version.  I think there are a
> couple mods I will
> have to make in QCTC to turn them back on.  I need to do it anyway for
> my research goals.  Let me know if you need them before I get to it.

Sorry for the misleading example. I will not use f-function. Indeed, the 
largest basis set I will try is probably 6-31++G* or 6-311++G* which are 
limited to s-, p- and d-functions.

Cheers

Gao


reply via email to

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