Skip to content
AncaSC edited this page Dec 16, 2014 · 7 revisions

Table of Contents

Known Limitations

  • OpenCL kernels are not supported for Intel CPUs
  • OpenCL kernels are not supported for Intel GPUs
  • The current implementation is not compatible with OpenCL devices that are not using warp/wavefronts or for which the warp/wavefront size is not a multiple of 32
  • The following kernels are known to produce incorrect results:
    • nbnxn_kernel_ElecEwQSTab_VdwLJ_VF_prune_opencl
    • nbnxn_kernel_ElecEwQSTab_VdwLJ_F_prune_opencl
  • Due to blocking behavior of clEnqueue functions in NVIDIA driver, there is almost no performance gain when using NVIDIA GPUs. A bug report has already been filled on about this issue. A possible workaround would be to have a separate thread for issuing GPU commands. However this hasn't been implemented yet.

Tested Configurations

  • Tested devices:
    • NVIDIA GPUs: GeForce GTX 660M, GeForce GTX 750Ti, GeForce GTX 780
    • AMD GPUs: FirePro W5100, HD 7950, FirePro W91000, Radeon R7 M260, R9 290
  • Tested kernels:
Kernel Benchmark test Remarks
nbnxn_kernel_ElecCut_VdwLJ_VF_prune_opencl d.poly-ch2
nbnxn_kernel_ElecCut_VdwLJ_F_opencl d.poly-ch2
nbnxn_kernel_ElecCut_VdwLJ_F_prune_opencl d.poly-ch2
nbnxn_kernel_ElecCut_VdwLJ_VF_opencl d.poly-ch2
nbnxn_kernel_ElecRF_VdwLJ_VF_prune_opencl adh_cubic with rf_verlet.mdp
nbnxn_kernel_ElecRF_VdwLJ_F_opencl adh_cubic with rf_verlet.mdp
nbnxn_kernel_ElecRF_VdwLJ_F_prune_opencl adh_cubic with rf_verlet.mdp
nbnxn_kernel_ElecEwQSTab_VdwLJ_VF_prune_opencl adh_cubic_vsites with pme_verlet_vsites.mdp Failed
nbnxn_kernel_ElecEwQSTab_VdwLJ_F_prune_opencl adh_cubic_vsites with pme_verlet_vsites.mdp Failed
nbnxn_kernel_ElecEw_VdwLJ_VF_prune_opencl adh_cubic_vsites with pme_verlet_vsites.mdp
nbnxn_kernel_ElecEw_VdwLJ_F_opencl adh_cubic_vsites with pme_verlet_vsites.mdp
nbnxn_kernel_ElecEw_VdwLJ_F_prune_opencl adh_cubic_vsites with pme_verlet_vsites.mdp
nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_prune_opencl adh_cubic_vsites with pme_verlet_vsites.mdp
nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_opencl adh_cubic_vsites with pme_verlet_vsites.mdp
  • Input data used for testing - Benchmark data sets available here

Regression Tests

All regression tests are passed except for nbnxn_vsite. The test has bug. After fixing the bug, this test is also passed.

Performance Results

Updated performance results can be found here.

Clone this wiki locally