Hi Suzanne,
I read your tutorial, and made my own modifications to the dotproduct code... (tried to do so before reading your answers
).
I fixed all the bugs almost the same way as you did, and finally could work with a=b=1:2048 (or 0:2047 whatever...), but couldn't solve the 4096 problem.
I still don't quite get it. I am working with "unsigned long" now, instead of "unsigned int". I see that some of the results go beyond what is manageable with 32 bits and I assume there is the problem...
But, I am working with "unsigned long" (host and device side), and Epiphany supports it, so I assume it correctly multiplies two unsigned long. Maybe my lack of C experience with large integers has something to do with it...
Well, the result is clearly less than 2^64, so if all long operations are working ok, I can't see where the problem is...
I'll try to see it later, now I will follow other paths in my "research", but will keep the problem in mind, and if anyone could generously help with a tip... I would be most grateful