next up previous
Next: Other Compilation Flags Up: Compiling the Code Previous: Setting Compilation Flags

Setting Configuration Flags

The user now needs to Enter the directory DPMTA/src and edit the file dpmta_config.h to set the appropriate configuration flags that will enable or disable features of DPMTA.. The following is a list of the compile time flags and their meaning:

TIMEPERF
turns on the slave timing code. Each slave records its own processing time and reports these values back to the master process. The timing results are printed out on standard output at the end of the run. This should not be used in production code.

TIMESYNC
include barriers to synchronize slave starts. This results in more accurate timings for performance monitoring. This should not be used in production code.

DATADUMP
causes the test programs to dump the particle position data to the file dpmta-plist. The results of the multipole force computations are dumped to the file dpmta-flist.

DUMPILIST
causes DPMTA to dump the interaction list data to the file /tmp/ilist.pid[PID]. This is used for debugging purposes only and should not be used in production code.

DEBUG[2]
turns on code which dumps major data structures to files during processing. This is intended for DPMTA development coders only and should not be used in production code.

SIZECHECK
prints out the current size of the DPMTA memory images. This option works for SERIAL case only and is used for testing purposes.

COMP_LJ
include the code to compute Lennard-Jones force and potentials. See the dpmta_test.c file for an example.

VIRIAL
include code to compute and return the virial tensor.

OLDVIRIAL
include code to compute the virial tensor. This is the older and less accurate virial computation.

PBC_WRAP
enforces that particles outside the box boundaries get wrapped around onto the other side of the box. This assures that all particles are within the individual leaf node boundaries and thus accuracy of the DPMTA algorithm is maintained. If this flag is not set, then particles outside the simulation cell are assigned to the leaf node closest to the particle.

SORTILIST
orders the processing of the multipole interactions in an attempt to avoid the effects of roundoff error when accumulating multiple remote expansions into a single local expansion. This takes up significant processing time and has not been shown to provide any significant benefit (not recommended).

HLIST
enable the use of multipole transpose matrices to improve performance of the M2L operation (recommended).

PARCONV
enable parental conversion during the generation of the interaction list (recommended).

CHILDCONV
enable child conversion during the generation of the interaction list. This should not be used if the PARCONV flag is also set (not recommended).

USE_FMM
use a Rohklin/Greengard cubic interaction region instead of DPMTA's normal theta separation criteria. This is for comparison purposes only and should not be used in production code.

FMM_SEP
specify the cell separation distance for FMM (set to 2 or 1).

MACROSCOPIC
include code to compute the effects of macroscopic assemblies of particles in addition to the periodic boundary conditions. A complete description of this method may be found in the work by Christophe Lambert[8].

PMACRO
include parallel macroscopic generation code (must also define MACROSCOPIC above for this to work).

PIPED
compiles an enhancement to DPMTA to allow the processing of non-orthogonal (parallel-piped) unit cells. This setting should not be used unless your application requires non-orthogonal regions.

HILBERT
the mapping of the DPMTA Cell Table onto a multiple processor set is now done via Hilbert ordering instead of Morton ordering. This will result in an overall decrease in message passing traffic for large systems.

ROWCOL
the mapping of the DPMTA Cell Table onto a multiple processor set is now done via Row/Column ordering instead of Morton ordering. This will result in an large increase in message passing and computation. This option is for testing purposes only.

SCURVE
the mapping of the DPMTA Cell Table onto a multiple processor set is now done in a method similar to Row/Column ordering, but with indexing of alternate rows reversed to provide a continuous spatial mapping scheme. Like Row/Column. this will result in an large increase in message passing and computation. This option is for testing purposes only.

GRAVITATION
reverse the force vectors so that like charges (mass) attract instead of repel. This is almost guaranteed not to work with any of the other force models (virial, LJ, etc).

LOADBAL
include code to perform load balancing. User must specify the additional BALANCE[1-4] to specify the load balancing methods. User should also use HILBERT option for efficient partitioning. Load balancing functionality is currently untested for the version 3.1 release of DPMTA.


next up previous
Next: Other Compilation Flags Up: Compiling the Code Previous: Setting Compilation Flags
Bill Rankin 2002-04-04