espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ESPResSo-users] Bug in the GPU implementation of Lattice Boltzmann


From: Rudolf Weeber
Subject: [ESPResSo-users] Bug in the GPU implementation of Lattice Boltzmann
Date: Fri, 7 Sep 2018 13:14:13 +0200
User-agent: Mutt/1.5.24 (2015-08-30)

Hi,

unfortunately, a bug was discovered in the LB implementation for the GPU.
The momentum is not conserved, and wrong results are produced if:
* you are using the Lattice-Boltzmann method on the GPU
* the simulation system contains particles
* the EXTERNAL_FORCES feature is NOT compiled in
* the 4.0 release or code from the development branch since the beginning of 
June is used

If you did not provide a custom myconfig.hpp when compiling ESPResSo, your 
simulations are not affected. The default configuration contains 
EXTERNAL_FORCES.

To check, whether your build of ESPResSo has EXTERNAL_FORCES compiled in:
* From your build directory, run:
  ./pypresso
* Then enter the following into the Python interpreter:
  import espressomd
  print(espressomd.features())
If EXTERNAL_FORCES is NOT in the list and you are using a version named above, 
you are likely affected.

Temporary solution:
Until a fix is provided, please include EXTERNAL_FORCES in your myconfig.hpp.

Background on compile-time features and testing:
Features that impact the performance of ESPResSo can be switched at compile 
time via myconfig.hpp.
The performance impact mainly arises from two sources:
* the feature increases the size of the particle data structure
* the feature adds code to the calculation of non-bonded interactions
There are about 20 of those compile-time switchable features.
Unfortunately, this means that there are many more combinations of features 
than we can test.
We do test the following automatically, whenever the codebase is changed:
* the default myconfig.hpp, which is taken when you do not provide one 
yourself. It is located in src/core/myconfig-default.hpp
* the maximal myconfig.hpp, in which everything is enabled that does not 
conflict with each other. It is located at maintainer/configs/maxset.hpp
* an empty myconfig.hpp

You can manually run the test suite for your build of ESPResSo by running
make check
from the build directory. 


We apologize for the problems that this issue may cause.

Regards,
Rudolf

-- 
Dr. Rudolf Weeber
Institute for Computational Physics
Universität Stuttgart
Allmandring 3
70569 Stuttgart
Germany
Phone: +49(0)711/685-67717
Email: address@hidden
http://www.icp.uni-stuttgart.de/~icp/Rudolf_Weeber




reply via email to

[Prev in Thread] Current Thread [Next in Thread]