Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log here errors related to running Gromacs with OpenCL enabled #44

Open
ancahamuraru opened this issue Oct 4, 2014 · 3 comments
Open

Comments

@ancahamuraru
Copy link

Specify the error (log error/execution error/crash, etc) and also details about the OpenCL device in use.

@ancahamuraru
Copy link
Author

Underflow error in put_atoms_in_box(...). It blocks either in the first or in the second while loop:


for (i = 0; i < natoms; i++)
{
for (d = 0; d < npbcdim; d++)
{
while (x[i][d] < 0)
{
x[i][d] += box[d][d];
}
while (x[i][d] >= box[d][d])
{
x[i][d] -= box[d][d];
}
}
}

It happens after > 50 kernel executions.

NVIDIA 660M GTX, Windows 7

@ancahamuraru
Copy link
Author

On NVIDIA 660M GTX, it runs through the end, no errors, no hanging, no crashes if configuring gmx to be single-threaded:

  • disabled GMX_OPENMP
  • disabled GMX_THREAD_MPI

@ancahamuraru
Copy link
Author

On I7-3610 QM Intel CPU it runs through the end, no errors, no hanging, no crashes if configuring gmx to be single-threaded:

  • disabled GMX_OPENMP
  • disabled GMX_THREAD_MPI

and if explicitly adding barrier(CLK_LOCAL_MEM_FENCE); everywhere where #if WARP_SIZE_TEST==1 is present. (The #if WARP_SIZE_TEST == 1 path is not active as the WARP_SIZE_TEST is 128).

Moreover, the output is the same as the output of running the OpenCL implementation on NVIDIA 660M GTX.

Unfortunately, these results are different from those generated by the CUDA implementation. Running gmx check with -abstol 1 for the energies shows 13 differences:
There are 31 terms to compare in the energy files

Reading energy frame 0 time 5.000 Bond step 5000:
7264.91, step 5000: 7272.94
Angle step 5000: 7491.95, step 5000: 7466.55
LJ (SR) step 5000: -23020.8, step 5000: 0
Potential step 5000: 6359.32, step 5000: 29359.3
Kinetic En. step 5000: 22602.7, step 5000: 22662.4
Total Energy step 5000: 28962, step 5000: 52021.7
Pressure step 5000: 198.367, step 5000: 66.2904
Vir-XX step 5000: 5546.08, step 5000: 7872.33
Vir-YY step 5000: 6079.57, step 5000: 7359.07
Vir-ZZ step 5000: 7744.44, step 5000: 6350.71
Pres-XX step 5000: 371.001, step 5000: -78.1237
Pres-YY step 5000: 283.184, step 5000: 62.4676
Pres-ZZ step 5000: -59.083, step 5000: 214.527
#Surf*SurfTen step 5000: -2182.04, step 5000: 1256.39
Last energy frame read 0 time 5.000
Files read successfully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant