diff --git a/doc/Section_start.html b/doc/Section_start.html index e24bd54193..af0b3ea70c 100644 --- a/doc/Section_start.html +++ b/doc/Section_start.html @@ -221,15 +221,32 @@ where it stores the system-specific *.o files.

Typing "make clean" will delete all *.o object files created when LAMMPS is built.

-

(3) On some 64-bit machines, compiling with -O3 appears to break the -Coulombic tabling option used by the pair_style -lj/cut/coul/long and lj/charmm/coul/long styles. By default, -tabling is used by these styles since it can offer a 2x speed-up. It -can be disabled via the pair_modify command. -Alternatively, the associated files (e.g. pair_lj_cut_coul_long.cpp) -can be compiled with -O2, or with the compiler flag --fno-strict-aliasing. Either of those build changes seems to fix -the problem. +

(3) On some machines with some compiler options, the Coulomb tabling +option that is enabled by default for "long" pair +styles such as lj/cut/coul/long and +lj/charmm/coul/long does not work. Tables are used by these styles +since it can offer a 2x speed-up. A symptom of this problem is +getting wildly large energies on timestep 0 of the examples/peptide +simulation. +

+

Here are several work-arounds. Coulomb tables can be disabled by +setting "table 0" in the pair_modify command. +

+

The associated files (e.g. pair_lj_cut_coul_long.cpp) can be compiled +at a lower optimization level like -O2, or with the compiler flag +-fno-strict-aliasing. The latter can be done by adding something +like these lines in your Makefile.machine: +

+
NOALIAS =       -fno-strict-aliasing 
+
+
pair_lj_cut_coul_long.o : pair_lj_cut_coul_long.cpp
+         $(CC) $(CCFLAGS) $(NOALIAS) -c $< 
+
+
pair_lj_charmm_coul_long.o : pair_lj_charmm_coul_long.cpp
+         $(CC) $(CCFLAGS) $(NOALIAS) -c $< 
+
+

On a Macintosh, try compiling the pair "long" files without the -fast +compiler option.

(4) Building for a Macintosh.

diff --git a/doc/Section_start.txt b/doc/Section_start.txt index 7c9fafc7f6..c3d67bf66d 100644 --- a/doc/Section_start.txt +++ b/doc/Section_start.txt @@ -216,15 +216,32 @@ where it stores the system-specific *.o files. Typing "make clean" will delete all *.o object files created when LAMMPS is built. -(3) On some 64-bit machines, compiling with -O3 appears to break the -Coulombic tabling option used by the "pair_style"_pair_style.html -{lj/cut/coul/long} and {lj/charmm/coul/long} styles. By default, -tabling is used by these styles since it can offer a 2x speed-up. It -can be disabled via the "pair_modify"_pair_modify.html command. -Alternatively, the associated files (e.g. pair_lj_cut_coul_long.cpp) -can be compiled with -O2, or with the compiler flag -{-fno-strict-aliasing}. Either of those build changes seems to fix -the problem. +(3) On some machines with some compiler options, the Coulomb tabling +option that is enabled by default for "long" "pair +styles"_pair_style.html such as {lj/cut/coul/long} and +{lj/charmm/coul/long} does not work. Tables are used by these styles +since it can offer a 2x speed-up. A symptom of this problem is +getting wildly large energies on timestep 0 of the examples/peptide +simulation. + +Here are several work-arounds. Coulomb tables can be disabled by +setting "table 0" in the "pair_modify"_pair_modify.html command. + +The associated files (e.g. pair_lj_cut_coul_long.cpp) can be compiled +at a lower optimization level like -O2, or with the compiler flag +{-fno-strict-aliasing}. The latter can be done by adding something +like these lines in your Makefile.machine: + +NOALIAS = -fno-strict-aliasing :pre + +pair_lj_cut_coul_long.o : pair_lj_cut_coul_long.cpp + $(CC) $(CCFLAGS) $(NOALIAS) -c $< :pre + +pair_lj_charmm_coul_long.o : pair_lj_charmm_coul_long.cpp + $(CC) $(CCFLAGS) $(NOALIAS) -c $< :pre + +On a Macintosh, try compiling the pair "long" files without the -fast +compiler option. (4) Building for a Macintosh.