endif()
GMX_TEST_CXXFLAG(CXXFLAGS_WARN_NO_RESERVED_IDENTIFIER "-Wno-reserved-identifier" GMXC_CXXFLAGS) # LLVM BUG #50644
GMX_TEST_CXXFLAG(CXXFLAGS_WARN_NO_MISSING_FIELD_INITIALIZERS "-Wno-missing-field-initializers" GMXC_CXXFLAGS)
- # Intel LLVM 2021.2 defaults to no-finite-math which isn't OK for GROMACS
- if(GMX_INTEL_LLVM AND GMX_INTEL_LLVM_VERSION GREATER_EQUAL 2021020)
- GMX_TEST_CXXFLAG(CXXFLAGS_FINITE_MATH "-fno-finite-math-only" GMXC_CXXFLAGS)
- endif()
# Some versions of Intel ICPX compiler (at least 2021.1.1 to 2021.3.0) fail to unroll a loop
# in sycl::accessor::__init, and emit -Wpass-failed=transform-warning. This is a useful
# warning, but mostly noise right now. Probably related to using shared memory accessors.
sycl::queue q(sycl::default_selector{});
return 0;
}
- " "CXX" DISABLE_SYCL_CXX_FLAGS SYCL_CXX_FLAGS "-fsycl -fsycl-device-code-split=per_kernel")
+ " "CXX" DISABLE_SYCL_CXX_FLAGS SYCL_CXX_FLAGS "-fsycl -fsycl-device-code-split=per_kernel -Wno-deprecated-declarations")
if(NOT CHECK_SYCL_CXX_FLAGS_QUIETLY)
if(SYCL_CXX_FLAGS_RESULT)
if (CMAKE_CXX_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM")
message(WARNING "The Intel classic compiler is no longer supported. It may pass the tests, but is not tested by the GROMACS developers. Use the clang-based compiler from oneAPI, or gcc")
endif()
+ # Intel LLVM 2021.2 defaults to no-finite-math which isn't OK for GROMACS and its dependencies (muParser and GTest).
+ # This is why we set the flags globally via CMAKE_CXX_FLAGS
+ if(GMX_INTEL_LLVM AND GMX_INTEL_LLVM_VERSION GREATER_EQUAL 2021020)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-finite-math-only")
+ endif()
+
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "XL")
check_cxx_source_compiles(
#include "impl.h"
#include "collective.h"
-
+#include "unused.h"
int tMPI_Scatter(const void* sendbuf, int sendcount, tMPI_Datatype sendtype,
{
int i;
size_t sendsize = sendtype->size*sendcount;
- size_t total_send_size = 0;
+ tmpi_unused size_t total_send_size = 0;
#ifdef USE_COLLECTIVE_COPY_BUFFER
tmpi_bool using_cb;
#endif
if (myrank == root)
{
int i;
- size_t total_send_size = 0;
+ tmpi_unused size_t total_send_size = 0;
#ifdef USE_COLLECTIVE_COPY_BUFFER
tmpi_bool using_cb;
#endif
#if GMX_SYCL_DPCPP
// Confirmed to work for 2021.1-beta10 (20201005) to 2021.3.0 (20210619).
// Deprecated in favor of sycl::ext::oneapi on 20210717 in https://github.com/intel/llvm/commit/d703f578.
+// Removed on 20210927 with https://github.com/intel/llvm/pull/4488
+# if __clang_major__ >= 14
+namespace origin = sycl::ext::oneapi;
+# else
namespace origin = cl::sycl::ONEAPI;
+# endif
#elif GMX_SYCL_HIPSYCL
namespace origin = cl::sycl;
#else