GOMC
GOMC copied to clipboard
Large systems fail in CUDA Kernels for fixable reasons
Describe the bug
Systems for which the number of ewald images > 65535, the max number of blocks, fails for invalid grid configuration.
GPUassert: invalid configuration argument /home/udpk5hr/GOMC/src/GPU/CalculateEwaldCUDAKernel.cu 100
Furthermore, the reduction strategy allocated a array of size threadsPerBlock * numberOfBlocks. This can exceed memory capabilities of the GPU easily.
To Reproduce Run an 400x400x400 ang box of water using Ewald GPU.
Expected behavior GOMC should be able to use all the memory of a single GPU without failing at certain system sizes.
Additional context This can be fixed by defining a 3D grid of blocks. Also, the reduction can be collapsed to use less memory.