3
<TITLE>installation notes for V4.0</TITLE>
5
<BODY BGCOLOR="#FFFFFF">
10
Installation notes for ABINIT v4.0</CENTER></H1>
16
This file provides a description of the operations needed to install
17
the ABINIT package, to generate the executable and to make the
20
<P>See a recent version of the
21
<a href="../new_user_guide.html">new user's guide</a>, for an
22
introduction to the abinit package. See a recent version of the
23
<a href="../abinis_help.html">abinis help</a> file
24
for learning how to use the code. Both of them can be
25
found in the Infos subdirectory.</P>
27
<P>Any comment or suggestion to improve the procedure will be
28
welcome ! Simply contact the
29
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.</P>
32
Last updated XG 20030106</P>
34
<h5>Copyright (C) 1998-2003 ABINIT group (XG,DCA)
35
<br> This file is distributed under the terms of the GNU General Public License, see
36
~abinit/COPYING or <a href="http://www.gnu.org/copyleft/gpl.txt">
37
http://www.gnu.org/copyleft/gpl.txt </a>.
38
<br> For the initials of contributors, see ~abinit/doc/developers/contributors .
50
<LI><A HREF="#get _version"><B>How to get a version of ABINIT
53
<LI><A HREF="#make_executable"><B>How to make the executable
56
<LI><A HREF="#make_internal_tests"><B>How to make the internal
59
<LI><A HREF="#make_tests"><B>How to make the other tests
62
<LI><A HREF="#others"><B>Things that are NOT in the installation
65
<LI><A HREF="#make_installationfiles"><B>For advanced users :
66
how to make the installation files ?</B></A></LI>
76
<H2><A NAME="get _version"></A>How to get a version of ABINIT ?</H2>
78
<P>We will distinguish three cases :</P>
81
<LI>you have a F90 compiler under UNIX/Linux (or MacOS X) and
82
you want to compile the source files.</LI>
84
<LI>you run one of the UNIX/Linux (or MacOS X) platforms
85
on which ABINIT is installed
86
before each release, and you do not want to compile the source files.</LI>
88
<LI>you want to run ABINIT under DOS/Windows.</LI>
92
<P>In the three cases, the installation files are available on the web site.</P>
94
<P>You must download different files for the different cases(<I>x.x.x is the
97
<P><B>Case 1 (under UNIX/Linux or MacOS X, and you want to compile) :</B></P>
99
<P>download the file <B>src_tests_<I>x.x.x</I>.tar.gz</B>
102
<P>download the four files <B>src_tests<I>X</I>_<I>x.x.x</I>.tar.gz</B>
103
where <B><I>X</I></B> is <B><I>A, B, C or D</I></B>
107
<BLOCKQUOTE>The <B>src_tests_<I>x.x.x</I>.tar.gz</B>
108
gzipped tar file contains <B>all</B> the sources of the
109
ABINIT code (including the files needed for generating the FFTs,
110
NumRecip and Lapack libraries), the complete Infos directory, the
111
complete set of Tests, all the scripts and makefiles, the
112
pseudopotentials needed for tests.<BR>
113
It does NOT contain the object files and the binary executable
115
You might as well download separately four different tar.gz
116
files named src_testsA_<I>x.x.x</I>.tar.gz, src_testsB_<I>x.x.x</I>.tar.gz
117
src_testsC_<I>x.x.x</I>.tar.gz, and src_testsD_<I>x.x.x</I>.tar.gz .
118
This opportunity is provided in case you have a slow connection
119
to the ABINIT Web site, and think your ftp connection might be not
120
stable enough to download the entire src_tests_<I>x.x.x</I>.tar.gz file :
122
files are each about one quarter of the single file, and altogether they contain
123
also the full ABINIT package.</BLOCKQUOTE>
125
<P><B>Case 2 (under UNIX/Linux or Mac OS X, and you do not want to compile) :</B></P>
127
<P>download <B><I>platform</I>_seq_<I>x.x.x</I>.tar.gz</B>,
128
for the sequential version only, </P>
130
<P>download <B><I>platform</I>_par_<I>x.x.x</I>.tar.gz</B>,
131
for the parallel version only (if it exists for the platform), </P>
133
<P>download <B><I>platform</I>_<I>x.x.x</I>.tar.gz</B>,
134
for sequential and parallel versions (if both exist for the platform). </P>
137
<BLOCKQUOTE>Such gzipped tar files contains the binary executable
138
files (sequential, or parallel, or both),
139
the complete Infos directory, and the different files
140
needed to execute either the
141
<A HREF="#make_internal_tests"><B> 5 internal tests </B></A>
142
(sequential version),
143
or <A HREF="#make_tests"><B> tests </B></A>
144
from the Test_paral directory (parallel version), or both.
145
In what follows, we will focus on the
146
sequential executable (called abinis). One should begin to use
147
the parallel executable (called abinip) only when sufficient
148
experience has been gained with abinis. <BR>
149
The gzipped tar file does NOT contain the source files,
150
neither the Test_fast, Test_v1, Test_v2, Test_v3, Test_v4,
151
and Test_cpu directories, nor the corresponding
152
pseudopotentials. The possible platforms are :
154
<LI>pclinux_pgi (PC under Linux, using the Portland Group Inc. compiler),</LI>
155
<LI>pclinux_ifc (PC under Linux, using the Intel compiler - a bit faster),</LI>
156
<LI>ibm_pw2 (IBM with Power 2 processors),</LI>
157
<LI>ibm_44p (IBM model 44P with Power III+ processors),</LI>
158
<LI>compaq_ev56 (DEC/Compaq machines with EV56 alpha processors),</LI>
159
<LI>compaq_ev67 (DEC/Compaq machines with EV67 alpha processors),</LI>
160
<LI>hp_pa7200 (HP PA RISC processors, model 7200),</LI>
161
<LI>hp_pa8000 (HP PA RISC processors, model 8000),</LI>
162
<LI>hp_pa8500 (HP PA RISC processors, model 8500),</LI>
165
<LI>sun_ultrasparc,</LI>
166
<LI>fujitsu_vpp,</LI>
170
For the Intel/Linux machines, the binaries contain all
171
the library routines statically linked. They should be very portable
172
(and they have been ported to more than 5 different machines in different
173
countries, or of different construction ). However, they have been compiled
174
by a compiler that generates code that needs an IP number to work.
175
So, they will not run if your machine has not been IP'ed.
176
For the other platforms,
177
the executable does not contain all the library routines
178
(they are linked dynamically), so they might not be as portable.
179
The portability of the executable has been checked only
180
for IBM PW2 and SGI Origin 2000 platforms.
183
<P><B>Case 3 (you want to run ABINIT under DOS/Windows) :</B></P>
185
<P>download <B>intel_DOSWin_seq_<I>x.x.x</I>.exe</B>,
186
for the sequential version.</P>
190
This is a self-extracting zip file that contains the binary executable
191
files, the complete Infos directory, and the different files
192
needed to execute the 5 internal tests. It does NOT contain the source files,
193
nor the Test_fast, Test_v1, Test_v2, Test_v3, Test_v4
194
and Test_cpu directories, and the corresponding
195
pseudopotentials.<BR>
196
Note : in order to compile ABINIT under DOS/Windows, you need the PGI workstation
197
environment. The procedure to be followed differs from what will be explained
198
below, and will not be described.
199
Contact the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A> if needed.
202
<P>So, execute the following actions :</P>
204
<BLOCKQUOTE><B>1)</B> Transfer the above-mentioned file(s) to your
205
machine, in a directory referred to here as ~local_ABINITv<I>x.x.x</I> .
206
You should have about 100 MB of disk space to install the code,
207
maybe more, depending on the version, and the number of tests that you
210
<P><B>2a)</B> Under UNIX/Linux, gunzip (on some machine you need gzip -d)
212
'<B>src_tests_<I>x.x.x</I>.tar.gz</B>' or
213
'<B><I>platform</I>_<I>x.x.x</I>.tar.gz</B>' (or the sequential
214
or parallel reduction of the latter file) :</P>
216
<BLOCKQUOTE>gunzip <B>src_tests_<I>x.x.x</I>.tar.gz</B> |
221
<P>gunzip <B><I>platform</I>_<I>x.x.x</I>.tar.gz</B> |
225
<P><B>2b)</B> Under Windows, double-click the icon of the file
226
intel_DOSWin_seq_x.x.x.exe to retrieve the files and directories.
227
You can also run it as a command in a DOS window or use your favorite
228
unzipping utility. </P>
231
<P>If correctly done, a whole set of
232
subdirectories should have been created. One of them is called
233
'Infos'. It contains many important informations.
234
In particular, you will find the description of the different
235
subdirectories in the
236
~local_ABINITv<I>x.x.x</I>/Infos/dirs_and_files file.
237
This file also describes the content of the Infos
238
directory, that is, all the information files.</P>
240
<P><B>*** It is strongly adviced to the installer to read (and print) NOW the
241
~local_ABINITv<I>x.x.x</I>/Infos/dirs_and_files file. ***</B></P>
249
<H2><A NAME="make_executable"></A>How to make the executables ?</H2>
251
<P>If you were in case 2, then you already have the binary
252
executables abinis, newsp, mrgddb and anaddb, so that you might skip the present
254
<A HREF="#make_internal_tests">go to the internal testing</A>.
255
However, just for fun, if you are in UNIX or Linux, you
256
can issue the make command, in the ~local_ABINITv<I>x.x.x</I>
259
<BLOCKQUOTE><B>make</B></BLOCKQUOTE>
261
<P>This will print the list of the basic keywords for the make
262
utility. This list of basic keywords is completed by keywords specific to
263
developers, obtained by typing
266
<BLOCKQUOTE><B>make dev</B></BLOCKQUOTE>
268
<P>We now suppose that you have a F90 compiler and you want to
269
compile the source files (case 1).
270
You must provide to the 'make' utility some
271
information: the location
272
of F90 and C compilers on your machine, the cpp utility, the blas
273
library, the location of PERL ...
274
For this, you must create in the ~local_ABINITv<I>x.x.x</I> directory a
275
file (or a symbolic link) named 'makefile_macros',
276
that you will have to design starting from already existing example files.
277
Examples of such files are contained in the subdirectories of the
278
~local_ABINITv<I>x.x.x</I>/Machine_dept_files directory.
279
Actually, if one of the existing 'makefile_macros' file is suitable
280
for you, you will have simply to issue an instruction like the following :</P>
282
<BLOCKQUOTE><B>ln -s</B> Machine_dept_files/DEC/makefile_macros.newton makefile_macros</BLOCKQUOTE>
284
<P>(here, a symbolic link is created, so that 'makefile_macros' refers to
285
Machine_dept_files/DEC/makefile_macros.newton , a file suitable for
286
the DEC machine named 'newton' at the PCPM).
287
In order to generate a new 'makefile_macros' file, a help file
288
called 'help.makefile_macros' can be found in the
289
~local_ABINITv<I>x.x.x</I>/Infos directory. You can ask some
290
help to the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.
291
When you have succeeded to create one such file, please send it
292
to us, so that it can be maintained in the next versions of the code.</P>
295
<P>When the 'makefile_macros' file is ready, you will have to issue
296
the 'make' command, followed by some keyword.</P>
298
<P>To get the sequential version of all the executables,
301
<BLOCKQUOTE><B>make allseq</B>
303
<B>make allseq >& log.file</B>
306
<P>(allseq is an abbreviation for <I>all sequential</I> executables;
307
log.file can be any filename, and is useful
308
when the messages from make are too long)</P>
310
<P>Issuing this 'make allseq' command will trigger a whole set of
311
actions (not easy to follow, as you will see).<BR>
312
The make utility will use the file 'Makefile', that calls a script
313
called 'makemake', to produce another makefile, called
314
'tmp_makefile', that calls the 'makearch' script from different
315
subdirectories, that create themselves 'tmp_makefile' files, that
316
compile the fortran source (and eventually one C file), create
317
libraries and link the different objects.<BR>
318
Moreover, usually, this works without problem !</P>
320
<P>Let's us suppose that you do not issue the powerful 'make allseq'
321
command, but that you want to create one-by-one the libraries and
324
<P>Then, for the sequential version, you must create :</P>
327
<LI>the lapack library (make lapack)</LI>
329
<LI>the numrecip library (make numrecip)</LI>
331
<LI>the new FFT library (make fftnew)</LI>
333
<LI>the perl scripts (make perl)</LI>
335
<LI>and on some platforms, the blas library (make blas)</LI>
338
<P>Alternatively, the libraries can be created at once by
339
issuing 'make libs'.</P>
341
<P>Then, you can issue 'make abinis' to make the sequential version
342
of abinit, and 'make newsp' to make newsp, the wavefunction
343
translator. The latter is needed for different tests of abinis
344
(see below). You can also issue 'make mrgddb' to make the
345
code that merge the derivative databases, 'make anaddb' to make
346
the code that analyze interatomic force constant,
347
'make aim' for the Bader analysis utility,
348
'make cut3d' for the analyzer of three-dimensional density, potential
349
or wavefunction files.</P>
351
<P>In order to get a transferable executable on Intel/Linux machines,
352
it might be needed to generate a static BLAS library. For this purpose,
353
issue 'make blas'. Be consistent with this choice, at the level
354
of the 'makefile_macros' file. This possibility is also used
355
for the Fujitsu machines.</P>
357
<P>Informations needed to generate the parallel version of ABINIT
358
can be found in the ~local_ABINITv<I>x.x.x</I>/Infos/paral_use file.
361
<P> Suppose that something is going wrong in one of the above-mentioned
362
steps, then, you can issue one of the 'clean_xxx' keywords (those
363
mentioned by typing 'make') to clean the directory where something
366
<P>With a bit of luck, you will succeed to
367
generate the executables. You are ready to perform
370
<P>In some cases, one wish to keep the binaries for different platforms
371
in the same ~local_ABINITv<I>x.x.x</I> directory. It is
373
compilation execute in such a way that the result is stored in
374
a machine-dependent subdirectory. Prior to the compilation on one
375
platform, issue : </P>
377
<BLOCKQUOTE><B>make bindir</B>
380
<P>Thanks to this command, a 'tmp_bindir' file will be created,
381
containing the definition of a variable $(BINDIR). Usually, this
382
variable will be BinAbinit/machine_architecture ,
383
where machine_architecture is the result of the execution of the
384
`arch` command on the platform. This definition
385
will be included in the make mechanism, and all the binaries
386
will be put in $(BINDIR). For the compilation on another
387
platform, the 'make bindir' command must be performed again,
388
before compilation, and the binaries generated by that other
389
compilation will be put in the corresponding directory.
390
It is also possible to change the tmp_bindir file, to define
391
another location, not obtained by the `arch` command.
392
Note that, if any, the cleaning will be directed to the $(BINDIR)
393
directory, which is the expected behaviour. However, presently, the
394
tests (internal as well as v1, and others) CANNOT use the
395
executables in the machine-dependent location : if the tests
396
are to be done, one must first copy the proper executable in the
397
~local_ABINITv<I>x.x.x</I> directory.
406
<H2><A NAME="make_internal_tests"></A>How to make the internal tests
407
? (sequential version only) </H2>
409
<P>The abinis code has five small internal tests, that can be issued
410
automatically, and that check themselves whether the results that
411
have been obtained are right or wrong. At most 3 MB of
412
memory is required, and 1 MB of disk space. PERL must be installed
413
on your machine for these tests to work. You can get PERL from
414
<a href="http://www.perl.org">http://www.perl.org</a> .
415
In the DOS/Windows case, perl.exe MUST be
416
accessible through the DOS PATH</P>
418
<P>You can begin with the test number 1. Simply issue the command
421
<BLOCKQUOTE><B>make test1</B></BLOCKQUOTE>
423
<P>It will run during a dozen of seconds. It will first
426
<BLOCKQUOTE>cd Test_in; Run 1<BR>
427
Built-in test 1 will be run through dotest script<BR>
428
dotest: Starting built-in test 1<BR>
429
../abinis < test1.files > test1.log
432
<P>then, you will eventually (if you are on a slow machine) see
433
different instances of the status file, like the following :</P>
435
<BLOCKQUOTE>Status file, with repetition rate 49 , status number
438
<P>Level abinit : call gstate<BR>
439
Level gstate : call brdmin<BR>
440
Level brdmin : call scfcv_ini<BR>
441
Level scfcv : call vtorho<BR>
443
Level vtorho : compute rhog</P></BLOCKQUOTE>
445
<P>then, the important information is as follows :</P>
447
<BLOCKQUOTE>Status file, reporting on test 1
449
<P>OK for total energy<BR>
450
OK for nuclei positions<BR>
452
OK for stresses </P></BLOCKQUOTE>
454
<P>This means that the internal test 1 ran successfully. If you do
455
not get this message, then the executables were not properly
456
generated, or there is a problem with the make and scripts that drive
457
the internal test. In this case, after having tried to solve the
458
problem by yourself, you should contact somebody in the
459
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.</P>
461
<P>Note : the script detects the end of the run by using the 'ps'
462
command following by a 'grep' command.
463
This can lead to strange effects if a file whose name contain
464
'abinis' is currently visualized, or if another job is running under
465
a name that contains 'abinis'.<BR>
466
So, close your files before running the tests, and also check that
467
there are no running jobs whose name contains 'abinis'.</P>
469
<P>Supposing test1 was OK, then you have to issue the command 'make
472
<P>The test 1 will be done once more, followed by the 4 other
473
internal tests. Again, we hope that you will get the positive
474
diagnostics for the other tests. Altogether, these tests are about 50 sec
475
on a Intel/PIII 450 MHz machine where no other job is running.</P>
477
<P>For further information on these internal tests, see the file
478
~local_ABINITv<I>x.x.x</I>/Test_in/README .</P>
480
<P>You might now read the
481
<a href="../new_user_guide.html">new user's guide</a>, in order
482
to learn how to use the code. This is useful if
483
you consider that the installation has been successful, or if
484
you want to continue the tests.</P>
492
<H2><A NAME="make_tests"></A>How to make the other tests (case 1 only)?</H2>
494
<P>(Case 1 only, since in case 2, only the minimal testing tools have been
497
<P>Although it is possible to make the other tests without knowing
498
really how to use the code (since all steps involved - the run and subsequent
499
analysis - are done automatically), it is the right time to read
500
the <a href="../new_user_guide.html">new user's guide</a>.
502
<P>After this reading, you should look at the
503
subdirectory Test_fast, and, later, Test_v1 and
504
Test_cpu, where tests of the sequential version of ABINIT (abinis) can be
505
done automatically. For tests of the parallel version (abinip)
506
see the directory Test_paral, as well as the
507
~local_ABINITv<I>x.x.x</I>/Infos/paral_use file.
508
For tests of the response function features of abinis, and for
509
tests of mrgddb and anaddb, see the subdirectory Test_v2.
511
presents further tests of recently implemented features of ABINIT.</P>
513
<P>In order to execute these tests, you will need a larger disk space than
514
for the simple installation of the code (the total additional disk space
515
required is on the order of 100 MB). After having checked the results
516
of the tests, the user can easily retain the output files in a
517
compressed form, and get rid off the wavefunction files by
520
<BLOCKQUOTE><B>make decrease_size_tests</B></BLOCKQUOTE>
522
<P>in the ~local_ABINITv<I>x.x.x</I> directory. Separate
523
commands are available for each of the Test directories.</P>
525
<P>You might as well remove all working directories by issuing </P>
527
<BLOCKQUOTE><B>make clean_tests</B></BLOCKQUOTE>
529
<P>in the ~local_ABINITv<I>x.x.x</I> directory. Separate
530
commands are available for each of the Test directories. This
531
command remove all the subdirectories that begin with '_',
532
which is the case of the working subdirectories. If you want to keep
533
some of them, remove their initial '_', then issue make clean_tests.
534
You can still decrease the size of such renamed directories by the
535
make decrease_size_tests command.</P>
537
<P><B>1) Test_fast </B> (for the sequential version only)</P>
539
<P>This subdirectory contains a basic set of tests of the code, aimed
540
at testing whether the code is coherent in time (successive
541
versions), and exercising many parts of the code. However, they do
542
not examine its accuracy on physical problems, mainly because the
543
number of plane waves used is too small, and some tests are not run
544
to self-consistent convergence. 32 MB of memory should be enough for these
545
tests (with no other application running, however).<BR>
546
Read the ~local_ABINITv<I>x.x.x</I>/Test_fast/README file
547
carefully (at least the beginning),
548
then read the beginning of the scripts 'Run'. Note that
549
it is a perl script. <BR>
550
To run the tests, simply issue :</P>
552
<BLOCKQUOTE><B>(Run machine_name) >& log</B></BLOCKQUOTE>
554
<P>where machine_name will usually be the name of your machine (any
555
other character string is fine, however).</P>
557
<P>The script will create a directory whose name will be build from the
558
machine name and today's date. All the results will be in that
559
directory. The output files will be automatically compared, thanks to
560
a 'diff' command, to a set of reference files, either from the
561
plane_wave code (the corresponding difference files are prefixed by
562
'diff.'), or from a recent run of the ABINIT code (the corresponding
563
difference files are prefixed by 'difnew.').</P>
565
<P> In addition to 'diff', another comparing tool called 'fldiff' -for 'floating
566
diff'- is also used. It treats in a more clever way the comparison
567
of floating numbers between the output files and the reference files.
568
As used presently in the 'Run' script, for each run, only one
569
single file, called 'fldiff.report', will be produced.
570
If for one test case, the two files differ by the number of lines,
571
the 'fldiff.report' file will report that it cannot compare the two files.
572
Usually this problem will be seen at the level of 'command signs' appearing
573
sometimes in the first column of the output files, so a
574
typical error message (announcing something went wrong) will be:</P>
580
The diff analysis cannot be pursued : the command sign differ. <BR>
584
<P> By contrast, it will
585
identify the floating numbers and ignore their differences if they are
586
within some prescribed tolerance (fldiff should become an expert system
587
in this respect : for example, in the present version, it is already
588
able to ignore most differences in timings).
589
If everything goes fine for a test,
590
fldiff should identify only the differences in :
592
<LI> the dates of execution (eventually) ;</LI>
594
<LI> the version numbers (eventually) ;</LI>
596
<LI> the platform description (eventually) ;</LI>
598
<LI> the overall execution time
599
(this is ALWAYS printed, even without differences).</LI>
601
So, a successful execution of one test case may be announced as follows
602
in the fldiff.report file :</P>
608
< Version 4.0.2 of ABINIT <BR>
609
> Version 4.0.0 of ABINIT <BR>
611
< Starting date : Tue 28 Jan 2003. <BR>
612
> Starting date : Mon 27 Jan 2003. <BR>
614
< +Overall time at end (sec) : cpu= 7.1 wall= 8.0 <BR>
615
> +Overall time at end (sec) : cpu= 7.3 wall= 8.0 <BR>
619
<P> The fldiff.report file will have one such section for each Test_case
620
that was run. It begins with the number of the test case, then
621
includes a few blocks of three lines: the number of the line
622
where something is happening, followed by the content of the two lines.</P>
624
<P>If differences (besides those described above) are found,
625
then there is a problem, or the double precision
626
tolerance needs to be adjusted (as time goes, this should become better).
627
More information on the
628
fldiff script can be found in
629
the ~local_ABINITv<I>x.x.x</I>/Utilities/fldiff file.
630
If needed, you can send by e-mail the fldiff.report to the
631
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>
632
for help understanding it and fixing possible bugs.
635
<P><B>2) Test_v1</B> (for the sequential version only) </P>
637
<P>This directory contains tests built in the same spirit as those
638
in the Test_fast directory, but that exercise features not present in
639
the plane_wave code, like the treatment of metals, the GGA, the
640
new pseudopotentials, the multi-dataset mode, the cell parameters
641
optimization, and the spatial symmetry groups database.<BR>
642
These were developed during the development time of the version 1
644
Of course, the automatic difference procedure only compares to recent
645
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
646
file is also available. 64 MB of memory should be enough for these
647
tests (with no other application running, however). </P>
649
<P><B>3) Test_v2</B> (for the sequential version only) </P>
651
<P>This directory contains tests built in the same spirit as those
652
in the Test_fast directory, but that exercise features not present in
653
the plane_wave code, nor in version 1 of the ABINIT package, mainly
654
the response function features, and the use of the mrgddb and anaddb
656
Again, the automatic difference procedure only compares to recent
657
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
658
file is also available. 64 MB of memory should be enough for these
659
tests (with no other application running, however). </P>
661
<P><B>4) Test_v3 and Test_v4 </B> (for the sequential version only) </P>
663
<P>This directory contains tests built in the same spirit as those
664
in the Test_fast directory, but that exercise features not present in
665
the plane_wave code, nor in version 1 or 2 of the ABINIT package,
666
noticeably the use of the GW code, the utilities Cut3d, AIM, ..,
668
Again, the automatic difference procedure only compares to recent
669
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
670
file is also available. 64 MB of memory should be enough for these
671
tests (with no other application running, however). </P>
674
<P><B>5) Test_cpu </B> (for the sequential version only)</P>
676
<P>This subdirectory contains the scripts, and input files needed for
677
testing the cpu time, either on progressively finer real space grids,
678
or on progressively bigger unit cells.
679
Please read the README file of this directory.
680
Also for this suite of tests, you have simply to issue</P>
682
<BLOCKQUOTE><B>(Run machine_name) >& log</B></BLOCKQUOTE>
684
<P>Unlike in the previous case, many directories will be created (more
685
than 10 in the present version). Their name begins with the test name (A1,
686
A2, A3, A4, B1, B2, B3, B4, C3, D3), and is followed by the machine name
687
and the date. Inside these directories, many runs are done.<BR>
688
There is a 'report' file that summarizes the timing of the different
689
runs, and there is a 'diff' file, that compares these timings with
690
the reference (output files from a PII at 450 MHz, usually).
691
The structure of these
692
tests is more complex than that of the Test_fast and Test_v1 directories.
693
The tools used are the 'serie' scripts (serieA,serieB,
694
serieC and serieD) as well as the 'getrep' script. For an explanation,
695
contact the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.
696
For the largest tests (B and D series), up to 200 MB of central memory
700
<P><B>6) Test_paral</B> (needs both abinis and abinip)</P>
702
<P>This directory contains tests built in the same spirit as those
703
in the Test_fast directory, but that exercise the parallel version
704
of the ABINIT code.<BR>
705
The 'Run' script consider one of the different input files, and
706
for this file, it will perform first a sequential
708
then use the parallel code (abinip) with one processing node, then perform
709
different parallel runs with an increasing number of processing nodes.
710
As for the other series of test, the diff and the fldiff utilities
711
are used automatically.</P>
714
<P><B>7) How to run all the sequential tests, or a subset of these suited
715
for developers ?</B></P>
717
<P>In the main directory, it is possible to issue </P>
719
<BLOCKQUOTE><B>make tests_allseq >& log</B></BLOCKQUOTE>
721
<P>in which case, all the tests in Test_fast, Test_v1, Test_v2,
722
Test_v3, Test_v4, Tutorial, Test_cpu and the sequential tests of Test_paral
723
will be issued. The choice of the name of the machine is not let
724
to the user : it is "t3e" (even if you run on a PC !). </P>
726
<P>Also in the main directory, if you issue </P>
728
<BLOCKQUOTE><B>make tests_dev >& log</B></BLOCKQUOTE>
730
<P>the tests in Test_fast, Test_v1, Test_v2,
731
Test_v3, Test_v4, and the sequential tests of Test_paral
732
will be issued. As in the preceeding case, the name of the machine
733
if fixed ("t3e"). In addition, a summary file, containing
734
all the fldiff report files is created, then tarred and gzipped.
735
It is given the name summary_tests.tar.gz, and might be sent by
736
mail for the merge of a new contribution.</P>
741
<H2><A NAME=others></A>Things that are NOT in the installation
745
<LI><B>Pseudopotentials :</B><BR>
746
The installation files contain a few pseudopotentials, for
747
testing purposes. But many other pseudopotential have been
748
generated. There exist presently two complete sets of ready-to-use
749
LDA pseudopotentials, for the whole periodic table : those
750
generated by Doug Allan and Alex Khein for the plane_wave code,
751
and those published by
752
Hartwigsen, Goedecker and Hutter (Phys. Rev. B 58, 3641 (1998)).
753
Also, the Fritz-Haber-Institute code, that is freely available at
754
<A HREF=http://www.FHI-Berlin.MPG.DE/th/fhi98md/fhi98PP>
755
http://www.FHI-Berlin.MPG.DE/th/fhi98md/fhi98PP</A>,
756
can be used to generate LDA as well as GGA pseudopotentials,
757
that can be read by the code after minor modifications,
763
<LI>The Web site <a href="http://www.abinit.org">http://www.abinit.org</a>
764
contains many other things ...<BR>
765
</B>The benchmarks results, the mailing lists, ...
768
<LI>The community Web site <a href="http://cst-www.nrl.navy.mil/~erwin/abinit">http://cst-www.nrl.navy.mil/~erwin/abinit</a>
769
is an additional source of information<BR>
780
<H2><A NAME="make_installationfiles"></A>
781
For advanced users : how to make the installation files ?</H2>
783
<P><B>Case 1 (source and tests) : you want to produce the file
784
src_tests_<I>x.x.x</I>.tar.gz</B></P>
786
<P>Here, for example, we suppose that you have modified
787
the code (in order to implement a new feature). This modification
788
works, so it is time to synchronize with the main code. If the
789
modifications are rather large, it is worthwhile to send your complete
790
version to the ABINIT group.</P>
792
<P>First, you should give a version number
793
to your version. Simply modify the appropriate variable
794
in the Makefile file of your ~local_ABINIT directory.
796
<BLOCKQUOTE><B>make new_version_number</B></BLOCKQUOTE>
797
to touch the few routines that need this version number, then
798
<BLOCKQUOTE><B>make allseq</B></BLOCKQUOTE>
799
as for the installation.</P>
801
<P>When you think everything can be frozen, you must issue
802
<BLOCKQUOTE><B>make src_tests</B></BLOCKQUOTE>
805
<P><B>Case 2 (version for a specific platform) : you
806
want to contribute a specific binary executable e.g.
807
you work on a SGI machine, and want to produce the file
808
sgi_r14000_<I>x.x.x</I>.tar.gz</B></P>
810
<P>The requirements are : all executables (abinis, newsp and abinip) are
811
working, and you have not erased one of the files needed for the tests,
812
both sequential and parallel. Also, the version number is supposed correct
813
(see above to modify it). In this case, simply issue :
815
<BLOCKQUOTE><B>make sgi_r14000 </B></BLOCKQUOTE>
817
For the sequential version only, or the parallel version only, use
819
<BLOCKQUOTE><B>make sgi_r14000_seq </B></BLOCKQUOTE>
821
<BLOCKQUOTE><B>make sgi_r14000_par </B></BLOCKQUOTE>
823
For the other platforms, use the appropriate platform name, mentioned
824
at the beginning of the present document, or obtained by typing
826
<BLOCKQUOTE><B>make dev </B></BLOCKQUOTE>
832
page :<A HREF="/ABINIT/index.html"><B> Home</B></A><B> </B>|
833
<A HREF="/ci/calc.html"><B>Calcul Intensif</B></A><B> </B>| <A
834
HREF="/Fr/PCPM/abinit.html"><B>Calcul
835
<I>ab initio</I></B></A>
839
<TABLE BORDER=0 CELLPADDING=0>
842
<P>6 January 2003>.<BR>
843
Responsable : Xavier Gonze < <A
844
HREF="mailto:gonze@pcpm.ucl.ac.be">gonze@pcpm.ucl.ac.be</A>><BR>
845
Conception : <A HREF="/~beuken">Jean-Michel Beuken</A> <
847
HREF="mailto:beuken@pcpm.ucl.ac.be">beuken@pcpm.ucl.ac.be</A>></P>