ukaea/UDA

Compilation issue with icpx 2023.2.1

SimonPinches opened this issue · 2 comments

Trying to compile UDA v2.7.4 with the latest Intel icpx compiler gives

/work/imas/opt/EasyBuild/software/intel-compilers/2023.2.1/compiler/2023.2.1/linux/bin/icpx -DA64 -DCAPNP_ENABLED=1 -DOSTYPE=Linux -DSERVERB
UILD -DUDA_EXPORT -D__TIRPC__ -I/opt/local/include -I/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/easybuild_obj/source -I/tmp/p
inches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source -I/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/s
ource/server -I/work/imas/opt/EasyBuild/software/libxml2/2.11.5-GCCcore-13.2.0/include/libxml2 -I/work/imas/opt/EasyBuild/software/OpenSSL/1
.1/include -I/include -I/work/imas/opt/EasyBuild/software/libtirpc/1.3.4-GCCcore-13.2.0/include/tirpc -isystem /work/imas/opt/EasyBuild/soft
ware/Boost/1.83.0-intel-compilers-2023.2.1/include -isystem /work/imas/opt/EasyBuild/software/fmt/10.2.0-GCCcore-13.2.0/include -O2 -axAVX,C
ORE-AVX2 -ftz -fp-speculation=safe -fp-model precise -fPIC -fPIC -pthread -Wno-mismatched-new-delete -g -std=c++17 -fPIC   -Wall -Werror -We
xtra -Wno-unused-parameter -Wno-missing-field-initializers -MD -MT source/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o -MF so
urce/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o.d -o source/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o -c
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1649:21: error: using floating point
absolute value function 'fabs' when argument is of integer type [-Werror,-Wabsolute-value]
                if (fabs(p[k] - (T)value) <= EpsilonSelector<T>::Epsilon) {
                    ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1765:20: note: in instantiation of fu
nction template specialization 'get_subset_indices_for_type<int>' requested here
            return get_subset_indices_for_type<int>(operation, dim, value, subset_indices);
                   ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1649:21: note: use function 'std::abs
' instead
                if (fabs(p[k] - (T)value) <= EpsilonSelector<T>::Epsilon) {
                    ^~~~
                    std::abs
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1656:35: error: using floating point
absolute value function 'fabs' when argument is of integer type [-Werror,-Wabsolute-value]
                double minvalue = fabs((T)value - p[0]);
                                  ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1656:35: note: use function 'std::abs
' instead
                double minvalue = fabs((T)value - p[0]);
                                  ^~~~
                                  std::abs

Can we close this now that v2.7.5 hopefully solves Intel compilation issues?

Yes!