Enable back floating-point exceptions for SYCL build
authorAndrey Alekseenko <al42and@gmail.com>
Wed, 23 Jun 2021 19:46:05 +0000 (22:46 +0300)
committerAndrey Alekseenko <al42and@gmail.com>
Wed, 23 Jun 2021 19:46:05 +0000 (22:46 +0300)
Originally, they were disabled in
48fb95de1e456569deed5096924e617d511cf109 because Intel IGC compiler was
triggering them while doing JIT compilation of NBNXM kernels from the
intermediate bytecode.

Now:

- The problem was fixed in IGC 1.0.7683 (compute-runtime 21.24.20098).

- Either NBNXM kernels or the DPC++ compiler changed, and the generated
  SPIR-V code does not trigger FPEs even for earlier IGC versions.

api/legacy/include/gromacs/math/utilities.h
src/gromacs/math/utilities.cpp

index a4c40e949677662777514c9324390953645e9ed3..19e7a45e437a1d68857a76a6244e67d759fdb0a0 100644 (file)
@@ -124,8 +124,6 @@ int gmx_fedisableexcept();
  *
  * Currently, it returns true unless any of the following conditions are met:
  * - release build,
- * - SYCL build (Intel IGC, at least 1.0.5964, raises FP exceptions in JIT compilation),
- * - - See https://github.com/intel/intel-graphics-compiler/issues/164
  * - compilers with known buggy FP exception support (clang with any optimization)
  *   or suspected buggy FP exception support (gcc 7.* with optimization).
  *
index 14b7dd38aa52cad73c3050ab2f38534ba363c73a..30e6a3d88f43f01c2b314507f90fcd83c33dde2f 100644 (file)
@@ -146,8 +146,6 @@ bool gmxShouldEnableFPExceptions()
     return false; // Release build
 #elif ((defined __clang__ || (defined(__GNUC__) && __GNUC__ == 7)) && defined __OPTIMIZE__)
     return false; // Buggy compiler
-#elif GMX_GPU_SYCL
-    return false; // avoid spurious FPE during SYCL JIT
 #else
     return true;
 #endif