Open jhdavis8 opened 1 year ago
One more thought: the wording of the wait
clause is pretty weird in OpenACC 2.6, so I wonder if this line is missing the wait
clause as we copy back to the host.
Does adding the clause fix anything?
Note: if it does this will be strange as all the other kernels have the wait
clause so I would have expected that all kernels will have finished before the copy back starts...
I just tried adding the wait clause to that copy back directive. Still seeing the same failures in all the test environments.
Is this related to #17?
I can reproduce this on AArch64 CPUs with both GCC and NVHPC, likely the same for x86 as well.
I'm encountering validation failures in BabelStream's OpenACC version on the main branch related to the number of iterations. Specifically, when the number of iterations is less than 723, validation failures appear:
compared to
The average error quantity increases with lower numbers of iterations. This exact behavior appears in all the following test environments:
Some possible causes that Tom suggested are synchronisations being skipped somewhere, probably with the memory transfers, or, some bad type punning, or something funny happening with the pointer captures (they're pulled out to local variables because all OpenACC compilers failed to work otherwise).