File: README

package info (click to toggle)
ergo 3.8-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 17,396 kB
  • sloc: cpp: 94,740; ansic: 17,015; sh: 7,559; makefile: 1,402; yacc: 127; lex: 110; awk: 23
file content (54 lines) | stat: -rw-r--r-- 1,614 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
-*- mode: outline -*-

* Usual configuration:

./configure && make

Options can be passed - see config_examples.txt for more information.

* Correctness test:

make check

Verbose variant:
make check VERBOSE=1

* Benchmark (compiler/architecture):

Following command will run longer and more memory-consuming tests:

make check RUN_BENCHMARK=1
or even
make check RUN_BENCHMARK=1 VERBOSE=1 TMPDIR=/scratch

These tests are synthetic and may not be 100% reliable. In particular,
load balancing in the parallelization is known to be a problem.

More realistic benchmark can be achieved by running

for i in 1 2 3 4; do 
env OMP_NUM_THREADS=$i time source/ergo params/b3lyp.ego
done

This runs an actual calculation. time will print total execution time
but also times spent in different parts of the calulcation is of
interest for the developers. For practical performance, the sum of the
numbers in the row matters, and the last row is most representative
for actual calculations.

* Source documentation

Just run doxygen and check out documentation/html/index.html

* Needed for configure & make

c++ compiler
The BLAS and LAPACK linear algebra libraries are needed unless the --enable-linalgebra-templates configure flag is used.
The bc calculator program is needed by some of the test scripts.

Additional programs may be needed to compile the code after modifications:

autoconf
automake
If you wish to modify the input parser stuff, yacc (or bison) and flex are also needed.
On a freshly installed Ubuntu 18.04 system, installing the following packages seems enough: automake g++ liblapack-dev make byacc flex