On Tue, Dec 30, 2014 at 8:33 PM, John Bytheway
On 2014-12-29 02:01, Kyle Lutz wrote:
On Sun, Dec 28, 2014 at 7:26 PM, John Bytheway
wrote: - It looks like the performance tests don't include the time for copying data to (and, where applicable, from) the device. You should mention this on the Performance page.
I'll add this, though it is very device/system specific. Also, there is a performance benchmark available in Boost.Compute ("perf_copy_to_device") which could be used to measure this on your own system.
More on the subject of performance:
I ran some of the performance tests on my machine, and I observed something surprising.
set_intersection and set_difference are *unbelievably* fast (two orders of magnitude faster than the std:: versions), and yet set_union and set_symmetric_difference are quite slow (maybe twice as slow as std::). Looking at the code, the four algorithms are very similar. Have you any idea what causes this huge discrepancy in their speed?
Very interesting, I'll look into this more. Also, I wasn't the author of those particular algorithms. Could you open an issue on the issue tracker [1] for this? Please also include the performance numbers you got and the device/platform you used. -kyle [1] https://github.com/kylelutz/compute/issues