gmarkall / manycore_form_compiler

MCFC is deprecated. See https://code.launchpad.net/~grm08/ffc/pyop2
https://code.launchpad.net/~grm08/ffc/pyop2
GNU General Public License v3.0
3 stars 1 forks source link

Errors when using more than one thread per block #22

Closed gmarkall closed 13 years ago

gmarkall commented 13 years ago

All the tests fail when the generated code uses more than one thread per block.

I suspect this is something to do with the way transform_to_physical handles shared memory.

kynan commented 13 years ago

Hopefully this problem will then "magically" go away with the new transform_to_physical which won't use shared memory.

gmarkall commented 13 years ago

I woulnd't like to count on it - I could have made some other error. I hope to look at this today since it's not a problem I want to leave you with.

gmarkall commented 13 years ago

Looks like there was another error - in generated forms, the arrays for storing the values of coefficients at quadrature points were shared, but there was no logic to ensure that each thread used an offset into the shared memory for its own element data. As a result, all threads overwrote each others results. The shared keyword is now removed and is being tested by the buildbot.

gmarkall commented 13 years ago

Fixed and tested since revision c6346ba9b237bb9715e8