decide future of xlc+power support - Redmine #2102
Archive from user: James Ostrander
Hi, I am trying to compile GROMACS with xlc/xlC in the simplest way I can.
From the build directory:
cmake3 -DCMAKE_C_COMPILER=xlc -DCMAKE_CXX_COMPILER=xlC ..
Output:
[u0017592
sys-85310 build]$ cmake3 -DCMAKE_C_COMPILER=xlc
-DCMAKE_CXX_COMPILER=xlC ..
— No compatible CUDA toolkit found (v5.0+), disabling native GPU
acceleration
CMake Error at cmake/gmxManageSimd.cmake:90 (message):
Cannot find IBM VSX compiler flag. Use a newer compiler, or disable
SIMD
support (slower).
Call Stack (most recent call first):
cmake/gmxManageSimd.cmake:414
(gmx_give_fatal_error_when_simd_support_not_found)
CMakeLists.txt:665 (gmx_manage_simd)@
CMakeError.log & CMakeOutput.log attached.
My xlc version is 13.1.5.
Many of the flags checked for in the CMakeError.log are no longer
supported.
xl compiler reference 13.1.5:
http://www-01.ibm.com/support/docview.wss?uid=swg27048883&aid=7
xl compiler reference 13.1:
http://www-01.ibm.com/support/docview.wss?uid=swg27041925&aid=1
- -mabi=altivec: Not in any xlc doc. Exists in gcc. Maybe in previous versions this didn’t throw errors. “-qaltivec” Enables the compiler support for vector data types and operators. Effects VSX/VMX load & store functions. This might be functionally equivalent to -maltivec, which is supported for gcc compatibility
-
mvsx: not in any doc. See abovecan this be replaced by -qaltivec (or -maltivec)? - -qsuppress: Exists in 13.1 but not 13.1.5
- -qhalt=e: The flag exists, but “w” is the only valid option in 13.1.5. In 13.1 more values were allowed, e.g. e, s
The invalid options throw warnings but not errors, so maybe it’s not necessary to fail the build if they are raised when compiling with xlc/xlC.
(from redmine: issue id 2102, created on 2017-01-26 by gmxdefault, closed on 2017-12-12)
- Relations:
- relates #2103 (closed)
- Changesets:
- Revision deb27c17 by Erik Lindahl on 2017-02-09T15:45:00Z:
Work around false xlc-13.1.5 bug in SIMD test
atan2(0,0) should return 0.0, which the Gromacs simd implementation
does. However, since at least one compiler produces -nan for the
standard library version it's better to compare with the known
correct value rather than calling std:atan2(0,0).
Refs #2102.
Change-Id: I60449e9f16fb1ab79486927a3e9993da0cce937f
- Revision f05743b0 by Mark Abraham on 2017-03-04T11:25:41Z:
Fixes for xl compilers 13.1.5 on Power8
Applied Erik's recent fix also for the atan2SinglePrecisionAccuracy
test.
Refs #2102
Change-Id: I230dac8084be2d0693cb616b5a5951b0ae4b71a6
- Revision a590e9e1 by Paul Bauer on 2017-12-08T10:58:52Z:
Add information regarding xlc compiler
Added information concerning that the xlc compiler
is neither supported nor tested.
Refs #2102
Change-Id: I1963a2fdaa6e27f4d9521c28088fc1c1f7eabe97
- Uploads: