Einstein@Home openCL app returns incorect results
Submitted by Pavel Ondračka
Assigned to Zhigang Gong @gongzg
Description
Since Fedora updated to beignet 1.2 all my Einstein@Home openCL tasks are invalid. This is with Intel(R) HD Graphics 5500 (Broadwell GT2), kernel 4.7.4-200.fc24.x86_64, libdrm: 2.4.70-1.fc24 and llvm 3.8.0-1.fc24.
The beignet version 1.1 worked fine. I managed to bisect it to 27a95c66 is the first bad commit commit 27a95c66 Author: Guo Yejun yejun.guo@intel.com Date: Mon Feb 29 08:08:06 2016 +0800
enable FP_CONTRACT on as default, and implemented with MAD
According to OpenCL spec, FP_CONTRACT is on as default, while LLVM/clang
just enabled it at http://reviews.llvm.org/D14200 at Nov 2015. So we still
need set this option explicitly now.
The implementation is hardware MAD instruction whose accuracy is enough
for FP_CONTRACT.
Passed test: contractions of conformance test
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
Reviewed-by: Ruiling Song <ruiling.song@intel.com>
Reverting this commit on to of current beignet git master solves the problems. the results are not completelly off, but the difference is big enough to differ sufficiently from other platforms and fail the Einstein@home task validation.
You can reproduce this either by installing Boinc client, attaching to the Einstein@Home project and setting preferences to allow openCL work for intel CPUs or you can test with the standalone app. The complete sources are here: https://einstein.phys.uwm.edu/download/brp-src-release.zip however it is quite hard to get it working so for convenience I'll attach compiled test app here. Just run runtest and check the results file against the results-1.52-intel_gpu file. It runs around 16 min here with my Broadwell GT2.