KernelTuner / kernel_tuner

Kernel Tuner
https://kerneltuner.github.io/kernel_tuner/
Apache License 2.0
291 stars 49 forks source link

Verification of TunablePrecision parameters only work if using the AccuracyObserver #245

Open isazi opened 9 months ago

isazi commented 9 months ago

Hi @stijnh I assigned this to you to check if this is a bug or a feature :)

In practice if you only want to use the TunablePrecision types to test the performance of various types of floats, and are not interested in measuring the loss of accuracy with the AccuracyObserver the verification does not work anymore.

Simple test, using the accuracy.py example in examples/cuda, just remove the observers and you get this error:

TypeError: Element 3 of the expected results list is not of the same dtype as the kernel output: float64 != float32.

If the observers are passed to tune_kernel, then everything works.