Remove the data clauses that contain your reduction variables. We've seen users do this, especially those that started with the Cray compiler, so are looking at adding support for this style of syntax. Though for now, what's happening is that reduction variables are treated differently and putting them in copy clauses interferes with how the compiler is generating the reduction. Essentially, you are overwriting the "result" when copying it back to the host.