UoB-HPC / miniBUDE

A BUDE virtual-screening benchmark, in many programming models
Apache License 2.0
25 stars 13 forks source link

Modifications to avoid including "gflop/s" in the "best gflop/s" computation if the validation fails #40

Closed colleeneb closed 1 month ago

colleeneb commented 1 month ago

This is to fix the issue mentioned in https://github.com/UoB-HPC/miniBUDE/issues/37.

Currently, if the result is not valid, it will still print a result and so the "best gflop/s" which is determined could be incorrect. In particular, if the CUDA kernel launch fails, the "best gflop/s" will be too big since the kernel time was very fast since the kernel didn't run. This will cause the "best flop/s" to be based on an invalid run.

This PR avoids the problem above. If the validation fails, it sets the kernel time to the biggest possible, so that it will not be considered in the computation of "best" gflop/s. There are probably cleaner ways, this is just what I was using to get it working. I'm happy to make changes if requested!

colleeneb commented 1 month ago

Done, let me know if it's ok!