compdyn / partmc

Particle-resolved stochastic atmospheric aerosol model
http://lagrange.mechse.illinois.edu/partmc/
GNU General Public License v2.0
28 stars 16 forks source link

GPU: maxThreadsPerBlock should be divided by 2 #91

Open cguzman95 opened 5 years ago

cguzman95 commented 5 years ago

GPU bug:

When calling to a kernel, the maximum threads available on CTE-POWER GPU's are 1024. However, testing with MONARCH_1 test, it retrieves the following error:

"Too Many Resources Requested for Launch"

Searching a bit, it seems the number of registers available on the multiprocessor is being exceeded. Reducing the number of threads per block solve this problem.

This variable is set to take the maximum threads per block for the GPU used and be divided by two to avoid this error. However, we don't know if this is enough for all GPU's.

CURIOSITY: This error doesn't happen with cb05cl test, which is more complex and uses more reactions.

--> Help from Operations team like Guillermo could be great to solve this <-- --> Fixing other issues like improving the RXN structure and DEFINE's on rxn files maybe can fix this error <--

cguzman95 commented 5 years ago

Also, it could be fixed automatically after the code translation to C++ classes (and substitution of the defines by class variables)