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
- <s>mvsx: not in any doc. See above</s> can 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
* Changesets:
* Revision deb27c1780b9c93b14d09b452d80da3d779cfd50 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 f05743b09bef9b6af452b29a00bddc7fcc956a38 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 a590e9e1eaa5c381d6882e73c217ca2d5c827607 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:
* [CMakeError.txt](/uploads/e6907ae4666031fffecdcb177a3fa752/CMakeError.txt)
* [CMakeOutput.txt](/uploads/3ce39ad7ec4307cb0955dbb6ab0ca4b1/CMakeOutput.txt)
issue