Project

General

Profile

Task #1039

investigate whether clang 3.0 really is buggy for the 4.6 group kernels

Added by Mark Abraham almost 8 years ago. Updated almost 7 years ago.

Status:
Rejected
Priority:
Low
Assignee:
Category:
build system
Target version:
Difficulty:
uncategorized
Close

Description

Erik's testing of group kernels on clang 3.0 exposed erroneous behaviour that was not seen in clang 3.1, so we suppose there is a compiler bug. We haven't had time to track anything down, so for the time being we have disallowed GROMACS builds for clang 3.0 in https://gerrit.gromacs.org/#/c/1720/.

It would be good to find out why, in case it's a real bug in either GROMACS or clang that is not actually resolved correctly. Even if we can do a bisection on clang, or scan its change log for something that leaps out at us, we don't have time to deal with this now, and perhaps not before 4.6.

Associated revisions

Revision bc34c5f9 (diff)
Added by Mark Abraham almost 8 years ago

Refuse to build with clang 3.0

The 3.0 compiler is definitely buggy for the group kernels, so
we refuse to build with this version at all. The test
works for both C and C++, and correctly detects (say) Apple
clang 4.1 as clang based on the LLVM 3.0 back end, like
everybody else seems to base their numbering on!

Refs #1039

Change-Id: I259fab3c022e0cf94c06ff34d2faf38663d1d7b7

History

#1 Updated by Szilárd Páll almost 8 years ago

Just tried with "Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)" and with this version I get a bunch of errors, among others the nbnxn_pme and nbnxn_vsite tests also fail which indicates that the NxN PME kernels are also messed up. This is surprising because we had not problem with the Apple clang 3.0 which AFAIK was from upstream 3.0svn (unless Apple fixed bugs in their version and didn't contribute them back upstream).


All 16 simple tests PASSED
FAILED. Check checkpot.out (10 errors), checkforce.out (2072 errors) files in fe_test
FAILED. Check checkpot.out (58 errors), checkforce.out (1123 errors) files in nacl
FAILED. Check checkpot.out (6 errors), checkforce.out (2347 errors) files in nbnxn_pme
FAILED. Check checkpot.out (8 errors), checkforce.out (1762 errors) files in nbnxn_vsite
FAILED. Check checkpot.out (42 errors), checkforce.out (1052 errors) files in tip4p
FAILED. Check checkpot.out (32 errors), checkforce.out (524 errors) files in tip4p_continue
FAILED. Check checkpot.out (86 errors), checkforce.out (3124 errors) files in tip4pflex
7 out of 19 complex tests FAILED
FAILED. Check checkpot.out (4 errors), checkforce.out (6 errors) files in nb_kernel_ElecEw_VdwBham_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (657 errors) files in nb_kernel_ElecEw_VdwBham_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1260 errors) files in nb_kernel_ElecEw_VdwBham_GeomW3W3
FAILED. Check checkpot.out (4 errors), checkforce.out (724 errors) files in nb_kernel_ElecEw_VdwBham_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1326 errors) files in nb_kernel_ElecEw_VdwBham_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (6 errors) files in nb_kernel_ElecEw_VdwCSTab_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (648 errors) files in nb_kernel_ElecEw_VdwCSTab_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1245 errors) files in nb_kernel_ElecEw_VdwCSTab_GeomW3W3
FAILED. Check checkpot.out (2 errors), checkforce.out (693 errors) files in nb_kernel_ElecEw_VdwCSTab_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1299 errors) files in nb_kernel_ElecEw_VdwCSTab_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (6 errors) files in nb_kernel_ElecEw_VdwLJ_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (648 errors) files in nb_kernel_ElecEw_VdwLJ_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1245 errors) files in nb_kernel_ElecEw_VdwLJ_GeomW3W3
FAILED. Check checkpot.out (2 errors), checkforce.out (693 errors) files in nb_kernel_ElecEw_VdwLJ_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1299 errors) files in nb_kernel_ElecEw_VdwLJ_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (1770 errors) files in nb_kernel_ElecEw_VdwNone_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (657 errors) files in nb_kernel_ElecEw_VdwNone_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1263 errors) files in nb_kernel_ElecEw_VdwNone_GeomW3W3
FAILED. Check checkpot.out (2 errors), checkforce.out (633 errors) files in nb_kernel_ElecEw_VdwNone_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1323 errors) files in nb_kernel_ElecEw_VdwNone_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (6 errors) files in nb_kernel_ElecEwSh_VdwBhamSh_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (651 errors) files in nb_kernel_ElecEwSh_VdwBhamSh_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1686 errors) files in nb_kernel_ElecEwSh_VdwBhamSh_GeomW3W3
FAILED. Check checkpot.out (6 errors), checkforce.out (727 errors) files in nb_kernel_ElecEwSh_VdwBhamSh_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1683 errors) files in nb_kernel_ElecEwSh_VdwBhamSh_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (6 errors) files in nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (642 errors) files in nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1668 errors) files in nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3
FAILED. Check checkpot.out (4 errors), checkforce.out (681 errors) files in nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1668 errors) files in nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (1779 errors) files in nb_kernel_ElecEwSh_VdwNone_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (642 errors) files in nb_kernel_ElecEwSh_VdwNone_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1557 errors) files in nb_kernel_ElecEwSh_VdwNone_GeomW3W3
FAILED. Check checkpot.out (4 errors), checkforce.out (630 errors) files in nb_kernel_ElecEwSh_VdwNone_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1638 errors) files in nb_kernel_ElecEwSh_VdwNone_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (48 errors) files in nb_kernel_ElecEwSw_VdwBhamSw_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (723 errors) files in nb_kernel_ElecEwSw_VdwBhamSw_GeomW3P1
FAILED. Check checkforce.out (1758 errors) files in nb_kernel_ElecEwSw_VdwBhamSw_GeomW3W3
FAILED. Check checkpot.out (2 errors), checkforce.out (765 errors) files in nb_kernel_ElecEwSw_VdwBhamSw_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1734 errors) files in nb_kernel_ElecEwSw_VdwBhamSw_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (48 errors) files in nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (717 errors) files in nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1
FAILED. Check checkforce.out (1755 errors) files in nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3
FAILED. Check checkpot.out (2 errors), checkforce.out (765 errors) files in nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1737 errors) files in nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4
FAILED. Check checkpot.out (4 errors), checkforce.out (1860 errors) files in nb_kernel_ElecEwSw_VdwNone_GeomP1P1
FAILED. Check checkpot.out (4 errors), checkforce.out (654 errors) files in nb_kernel_ElecEwSw_VdwNone_GeomW3P1
FAILED. Check checkpot.out (4 errors), checkforce.out (1482 errors) files in nb_kernel_ElecEwSw_VdwNone_GeomW3W3
FAILED. Check checkpot.out (4 errors), checkforce.out (642 errors) files in nb_kernel_ElecEwSw_VdwNone_GeomW4P1
FAILED. Check checkpot.out (2 errors), checkforce.out (1527 errors) files in nb_kernel_ElecEwSw_VdwNone_GeomW4W4
50 out of 147 kernel tests FAILED
FAILED. Check checkpot.out (237 errors) files in coulandvdwsequential_coul
FAILED. Check checkpot.out (122 errors) files in coulandvdwsequential_vdw
FAILED. Check checkpot.out (279 errors) files in coulandvdwtogether
FAILED. Check checkpot.out (82 errors) files in relative
FAILED. Check checkpot.out (139 errors) files in restraints
FAILED. Check checkpot.out (14 errors), checkforce.out (3234 errors) files in vdwalone
6 out of 9 freeenergy tests FAILED
All 42 pdb2gmx tests PASSED

#2 Updated by Szilárd Páll almost 8 years ago

Just did another batch of simple checking using the aforementioned vanilla clang 3.0:
- I get pretty much the same errors (same tests failing) with O3, O2, and O1.
- The code doesn't even compile with O0:

fatal error: error in backend: Cannot select: intrinsic %llvm.x86.avx.vextractf128.ps.256

If anybody can do further checking using Apple clang 3.0 (which is some obscure 3.0 svn version + who know how many/what kind of Apple patches), feel free to do so. I consider clang 3.0 useless for GROMACS (it's ridiculously fast, though :).

#3 Updated by Erik Lindahl almost 8 years ago

  • Status changed from New to Closed

We no longer accept building with clang 3.0. Issue closed.

#4 Updated by Mark Abraham over 7 years ago

Actually, the logic of the fix here does not seem to work with Apple's clang 4.1, which reports its clang_major as 4 and clang_minor as 1, despite clang -v reporting it is based on LLVM 3.1 svn. clang -dumpversion says 4.2.1, too. What a mess!

#5 Updated by Mark Abraham over 7 years ago

  • Status changed from Closed to Feedback wanted
  • Target version changed from 4.6 to 4.6.3

Not sure if this fix actually works.

#6 Updated by Mark Abraham over 7 years ago

  • Target version changed from 4.6.3 to 4.6.x

#7 Updated by Mark Abraham almost 7 years ago

  • Status changed from Feedback wanted to Rejected

History.

Also available in: Atom PDF