CCL:G: use of four processors in one computer for Gaussian program
- From: Hugo Alejandro Jimenez Vazquez
<hjimenez(!)woodward.encb.ipn.mx>
- Subject: CCL:G: use of four processors in one computer for Gaussian
program
- Date: Tue, 1 May 2012 18:50:28 -0500 (CDT)
Sent to CCL by: Hugo Alejandro Jimenez Vazquez [hjimenez=woodward.encb.ipn.mx]
On Mon, 30 Apr 2012, Daniele Dondi kaliumster_+_gmail.com wrote:
> You need a parallel version of Gaussian to do that.
>
> DD
>
> 2012/4/30 alireza zeinali ar.zeinali,+,yahoo.com
<owner-chemistry*ccl.net>
>
> > Dear ccl-netters,
> >
> >
> > I have a quad-core computer on which I have submitted Gaussian program
> > under windows.
> >
> > I tried to use the four processors in the computer by putting
%nproc=4.
> > However, when I
> > checked the task manager, I see only one processor is running.
> >
> > Anyone has idea how to make use of the four processors?
> >
> > Thank you
> > Alireza
>
You do not mention which operating system you are using. I am only
familiar with the 32-bit Windows and 32-bit and 64-bit Linux versions of
Gaussian. I know out of experience that even the 32-bit Windows version
is capable of using at least two processor cores, although I have never
tried on a computer with more than two cores.
Concerning the 64-bit Linux version, I can use 1, 2, 3 or 4 cores in a
four-core processor withouth any problems by using the %nproc=x
(%nprocshared=x for Gaussian 09) gaussian instruction. One of my students
is currently carrying out calculations in a dual-core computer and the
output of the "top" command looks like this:
top - 18:03:55 up 6:26, 1 user, load average: 2.00, 2.05, 2.45
Tasks: 93 total, 2 running, 91 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy,100.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3923792k total, 927020k used, 2996772k free, 41256k buffers
Swap: 2104472k total, 0k used, 2104472k free, 475616k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7272 crisosto 30 10 2438m 346m 3040 R 200 9.1 44:34.38 l1002.exe
1 root 20 0 8072 740 624 S 0 0.0 0:00.41 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0 0.0 0:00.05 ksoftirqd/0
In this case I can see that both cores are being used from the 200% CPU
usage data (and the temperatur increase of the processor, but that's
another story). For four cores this number goes up to 400. In Windows you
simply see that in the Task Manager the usage of all the processors goes
to the top of the charts. One more thing that you should be aware of is
that when you are using more than one processor you need to provide
Gaussian with more memory. In principle, for a dual-core processor, twice
as much as the minimun required for a single processor. This requirement
would escalate with the number of processors employed. This is
particularly important for calculations such as vibrational frequencies
where there is a minimum for the calculation to run in a "single
pass".
As an example, there is a calculation that I use a simple benchmark in my
computers. It is just a frequency calculation that runs without any
trouble with 8MW (64 megabytes) in single-core computers (it also runs
without any problem with this amount of memory in dual-core computers). I
just assembled my first 4-core computer and tried to carry out this
calculation with the same 8MW of memory and i get messages such as these
in the output file:
.
.
.
%nprocshared=4
Will use up to 4 processors via shared memory.
%mem=8MW
%chk=test2
.
.
.
One-electron integrals computed using PRISM.
PrsmSu: requested number of processors reduced to: 2 ShMem 1 Linda.
.
.
.
IMax=3 JMax=2 DiffMx= 0.00D+00
G2DrvN: will do 6 centers at a time, making 3 passes doing MaxLOS=2.
Estimated number of processors is: 3
.
.
.
48 vectors produced by pass 3 Test12= 1.25D-14 1.96D-09 XBig12= 2.90D-03
5.87D-03.
PrRfSu: requested number of processors reduced to: 3 ShMem 1 Linda.
PrRfSu: requested number of processors reduced to: 3 ShMem 1 Linda.
.
.
.
N-N= 5.619054064369D+02 E-N=-3.731378376894D+03 KE= 1.098176122268D+03
Exact polarizability: 179.392 0.103 106.578 0.804 0.935 90.311
Approx polarizability: 202.415 2.353 159.605 6.396 2.430 123.455
PrsmSu: requested number of processors reduced to: 2 ShMem 1 Linda.
PrsmSu: requested number of processors reduced to: 2 ShMem 1 Linda.
.
.
.
These messages concerning the number of processors used went away as soon
as I set %mem=32MW, with the full run employing four cores.
I hope this information is useful.
Regards,
--
---
Hugo A. Jimenez Vazquez
hjimenez],[woodward.encb.ipn.mx
Departamento de Quimica Organica
ENCB-IPN
Mexico