[gmx-developers] gromacs 5.1rc1 OpenCL problem with Parrinello-Rahman
Carlo Camilloni
carlo.camilloni at gmail.com
Mon Jul 20 19:50:28 CEST 2015
Hi again,
I don’t know if you had the opportunity to reproduce this bug, in the meantime I have compiled it with gcc 4.8, openMP and sse4.1,
again cpu results are consistently right while OpenCL results are consistently wrong, so it looks like it is NOT a problem of Clang 6
but it could be either a problem of the gpu driver or maybe OpenCL itself, I don’t know..
this is the new log
GROMACS version: VERSION 5.1-rc1
Precision: single
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 32)
GPU support: enabled
OpenCL support: enabled
invsqrt routine: gmx_software_invsqrt(x)
SIMD instructions: SSE4.1
FFT library: fftw-3.3.4-sse2-avx
RDTSCP usage: enabled
C++11 compilation: disabled
TNG support: enabled
Tracing support: disabled
Built on: Mon 20 Jul 2015 18:21:43 BST
Built by: carlo [CMAKE]
Build OS/arch: Darwin 13.4.0 x86_64
Build CPU vendor: GenuineIntel
Build CPU brand: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
Build CPU family: 6 Model: 62 Stepping: 4
Build CPU features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
C compiler: /opt/local/bin/gcc GNU 4.8.5
C compiler flags: -msse4.1 -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wpointer-arith -Wall -Wno-unused -Wunused-value -Wunused-parameter -O3 -DNDEBUG -funroll-all-loops -fexcess-precision=fast -Wno-array-bounds
C++ compiler: /opt/local/bin/g++ GNU 4.8.5
C++ compiler flags: -msse4.1 -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wall -Wno-unused-function -O3 -DNDEBUG -funroll-all-loops -fexcess-precision=fast -Wno-array-bounds
Boost version: 1.58.0 (external)
OpenCL include dir: /System/Library/Frameworks/OpenCL.framework
OpenCL library: /System/Library/Frameworks/OPENCL.framework
OpenCL version: 1.2
Best,
Carlo
> On 17 Jul 2015, at 13:54, Carlo Camilloni <carlo.camilloni at gmail.com> wrote:
>
> Hi,
>
> Unfortunately on the Mac Pro I am running os x 10.9.5 and the newer clang is not yet available so I cannot test it
> with a different version. Erik if you have time to tell me what to change to get gromacs compiled with gcc I can give it a try
>
> Carlo
>
>
>> On 16 Jul 2015, at 20:28, Mark Abraham <mark.j.abraham at gmail.com <mailto:mark.j.abraham at gmail.com>> wrote:
>>
>> Hi,
>>
>> Philip Fowler made a recent positive report on OpenCL+AMD+Mac and he was using /usr/bin/cc Clang 6.1.0.6020053, so there may be an issue with Clang 6.0 (whatever real clang version that is...)
>>
>> Mark
>>
>> On Thu, Jul 16, 2015 at 7:20 PM Erik Lindahl <erik.lindahl at gmail.com <mailto:erik.lindahl at gmail.com>> wrote:
>> Hi,
>>
>> The one obvious difference I can see is that you have clang 6.0.0, while at least my Macbook pro says 6.1.0.
>>
>> Could you check if there is any update available for the developer tools, and if so does that help?
>>
>> It is actually much better to use gcc since you will then also use all CPU cores. However, that requires patching a header file in /usr/include; I’ll dig up what I did there - we need to put it in the documentation anyway.
>>
>> Cheers,
>>
>> Erik
>>
>> From: Carlo Camilloni <carlo.camilloni at gmail.com> <mailto:carlo.camilloni at gmail.com>
>> Reply: Carlo Camilloni <carlo.camilloni at gmail.com>> <mailto:carlo.camilloni at gmail.com>
>> Date: 16 Jul 2015 at 19:07:13
>> To: Erik Lindahl <erik.lindahl at gmail.com>> <mailto:erik.lindahl at gmail.com>
>> Cc: gromacs.org_gmx-developers at maillist.sys.kth.se <mailto:gromacs.org_gmx-developers at maillist.sys.kth.se> <gromacs.org_gmx-developers at maillist.sys.kth.se>> <mailto:gromacs.org_gmx-developers at maillist.sys.kth.se>, gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org> <gmx-developers at gromacs.org>> <mailto:gmx-developers at gromacs.org>
>>
>> Subject: Re: [gmx-developers] gromacs 5.1rc1 OpenCL problem with Parrinello-Rahman
>>
>>> Hi Erik,
>>>
>>> here it is:
>>>
>>>
>>> GROMACS version: VERSION 5.1-rc1
>>> Precision: single
>>> Memory model: 64 bit
>>> MPI library: none
>>> OpenMP support: disabled
>>> GPU support: enabled
>>> OpenCL support: enabled
>>> invsqrt routine: gmx_software_invsqrt(x)
>>> SIMD instructions: AVX_256
>>> FFT library: fftw-3.3.4-sse2-avx
>>> RDTSCP usage: enabled
>>> C++11 compilation: disabled
>>> TNG support: enabled
>>> Tracing support: disabled
>>> Built on: Thu 16 Jul 2015 09:34:14 BST
>>> Built by: carlo@ [CMAKE]
>>> Build OS/arch: Darwin 13.4.0 x86_64
>>> Build CPU vendor: GenuineIntel
>>> Build CPU brand: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
>>> Build CPU family: 6 Model: 62 Stepping: 4
>>> Build CPU features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
>>> C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc Clang 6.0.0.6000057
>>> C compiler flags: -mavx -Wall -Wno-unused -Wunused-value -Wunused-parameter -Wno-unknown-pragmas -O3 -DNDEBUG
>>> C++ compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ Clang 6.0.0.6000057
>>> C++ compiler flags: -mavx -Wextra -Wno-missing-field-initializers -Wpointer-arith -Wall -Wno-unused-function -Wno-unknown-pragmas -O3 -DNDEBUG
>>> Boost version: 1.58.0 (external)
>>> OpenCL include dir: /System/Library/Frameworks/OpenCL.framework
>>> OpenCL library: /System/Library/Frameworks/OPENCL.framework
>>> OpenCL version: 1.2
>>>
>>>
>>> Running on 1 node with total 12 logical cores, 2 compatible GPUs
>>> Hardware detected:
>>> CPU info:
>>> Vendor: GenuineIntel
>>> Brand: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
>>> Family: 6 model: 62 stepping: 4
>>> CPU features: aes apic avx clfsh cmov cx8 cx16 f16c htt lahf_lm mmx msr nonstop_tsc pcid pclmuldq pdcm pdpe1gb popcnt pse rdrnd rdtscp sse2 sse3 sse4.1 sse4.2 ssse3 tdt x2apic
>>> SIMD instructions most likely to fit this hardware: AVX_256
>>> SIMD instructions selected at GROMACS compile time: AVX_256
>>> GPU info:
>>> Number of GPUs detected: 2
>>> #0: name: AMD Radeon HD - FirePro D500 Compute Engine, vendor: AMD, device version: OpenCL 1.2 , stat: compatible
>>> #1: name: AMD Radeon HD - FirePro D500 Compute Engine, vendor: AMD, device version: OpenCL 1.2 , stat: compatible
>>>
>>> Carlo
>>>
>>>
>>>
>>> On 16 Jul 2015, at 18:59, Erik Lindahl <erik.lindahl at gmail.com <mailto:erik.lindahl at gmail.com>> wrote:
>>>
>>> Hi Carlo,
>>>
>>> IIRC, I managed to get it working on a Mac Pro with AMD Firepro D300 GPUs. Please post the contents of the top of your logfile (where it says everything about the compilers & config), and mention what hardware you tried it on - then we’ll see if we can reproduce it.
>>>
>>> Cheers,
>>>
>>> Erik
>>>
>>> From: Carlo Camilloni <carlo.camilloni at gmail.com> <mailto:carlo.camilloni at gmail.com>
>>> Reply: gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org> <gmx-developers at gromacs.org>> <mailto:gmx-developers at gromacs.org>
>>> Date: 16 Jul 2015 at 18:52:21
>>> To: gromacs.org_gmx-developers at maillist.sys.kth.se <mailto:gromacs.org_gmx-developers at maillist.sys.kth.se> <gromacs.org_gmx-developers at maillist.sys.kth.se>> <mailto:gromacs.org_gmx-developers at maillist.sys.kth.se>
>>> Subject: Re: [gmx-developers] gromacs 5.1rc1 OpenCL problem with Parrinello-Rahman
>>>
>>> Hi,
>>>
>>> I tested the OpenCL kernel on my macbook (nvidia gpu) and here it produces the correct forces,
>>> so it could be a problem related to amd+osx, or maybe to some specific compiler/os version
>>>
>>> Carlo
>>>
>>>
>>> > On 15 Jul 2015, at 17:42, Carlo Camilloni <carlo.camilloni at gmail.com <mailto:carlo.camilloni at gmail.com>> wrote:
>>> >
>>> > Hi,
>>> >
>>> > these are the tests that fail:
>>> >
>>> > FAILED. Check checkpot.out (12 errors), checkforce.out (3516 errors) file(s) in dd121 for dd121
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4027 errors) file(s) in nbnxn-energy-groups for nbnxn-energy-groups
>>> > FAILED. Check checkpot.out (26 errors), checkforce.out (2998 errors) file(s) in nbnxn-free-energy for nbnxn-free-energy
>>> > FAILED. Check checkpot.out (26 errors), checkforce.out (2998 errors) file(s) in nbnxn-free-energy-vv for nbnxn-free-energy-vv
>>> > FAILED. Check checkpot.out (11 errors), checkforce.out (4039 errors) file(s) in nbnxn-ljpme-geometric for nbnxn-ljpme-geometric
>>> > FAILED. Check checkpot.out (14 errors), checkforce.out (52 errors) file(s) in nbnxn-ljpme-LB for nbnxn-ljpme-LB
>>> > FAILED. Check checkpot.out (14 errors), checkforce.out (52 errors) file(s) in nbnxn-ljpme-LB-geometric for nbnxn-ljpme-LB-geometric
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4029 errors) file(s) in nbnxn-vdw-force-switch for nbnxn-vdw-force-switch
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4032 errors) file(s) in nbnxn-vdw-potential-switch for nbnxn-vdw-potential-switch
>>> > FAILED. Check checkpot.out (4 errors), checkforce.out (250 errors) file(s) in nbnxn-vdw-potential-switch-argon for nbnxn-vdw-potential-switch-argon
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4027 errors) file(s) in nbnxn_pme for nbnxn_pme
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4027 errors) file(s) in nbnxn_pme_order5 for nbnxn_pme_order5
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4027 errors) file(s) in nbnxn_pme_order6 for nbnxn_pme_order6
>>> > FAILED. Check checkpot.out (9 errors), checkforce.out (4028 errors) file(s) in nbnxn_rf for nbnxn_rf
>>> > FAILED. Check checkpot.out (2 errors), checkforce.out (4 errors) file(s) in nbnxn_rzero for nbnxn_rzero
>>> > FAILED. Check mdrun.out, md.log file(s) in nbnxn_vsite for nbnxn_vsite
>>> > FAILED. Check checkpot.out (13 errors), checkforce.out (15512 errors) file(s) in octahedron for octahedron
>>> > FAILED. Check mdrun.out, md.log file(s) in position-restraints for position-restraints
>>> > FAILED. Check mdrun.out, md.log file(s) in pull_constraint for pull_constraint
>>> > FAILED. Check checkpot.out (10 errors), checkforce.out (4021 errors) file(s) in pull_cylinder for pull_cylinder
>>> > FAILED. Check checkpot.out (11 errors), checkforce.out (39054 errors) file(s) in swap_x for swap_x
>>> > FAILED. Check checkpot.out (11 errors), checkforce.out (39053 errors) file(s) in swap_y for swap_y
>>> > FAILED. Check checkpot.out (12 errors), checkforce.out (39054 errors) file(s) in swap_z for swap_z
>>> > 23 out of 60 complex tests FAILED
>>> > FAILED. Check mdrun.out, md.log file(s) in expanded for expanded
>>> > FAILED. Check mdrun.out, md.log file(s) in transformAtoB for transformAtoB
>>> > 2 out of 10 freeenergy tests FAILED
>>> >
>>> >
>>> > Carlo
>>> >
>>> >
>>> >>
>>> >>
>>> >> Message: 4
>>> >> Date: Wed, 15 Jul 2015 15:35:13 +0000
>>> >> From: Mark Abraham <mark.j.abraham at gmail.com <mailto:mark.j.abraham at gmail.com>>
>>> >> To: gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>,
>>> >> gromacs.org_gmx-developers at maillist.sys.kth.se <mailto:gromacs.org_gmx-developers at maillist.sys.kth.se>
>>> >> Subject: Re: [gmx-developers] gromacs 5.1rc1 OpenCL problem with
>>> >> Parrinello-Rahman
>>> >> Message-ID:
>>> >> <CAMNuMATveVRRyBBwn312xrY+w3M7deC2Hs3A7PZnaeugkw+VVA at mail.gmail.com <mailto:CAMNuMATveVRRyBBwn312xrY+w3M7deC2Hs3A7PZnaeugkw+VVA at mail.gmail.com>>
>>> >> Content-Type: text/plain; charset="utf-8"
>>> >>
>>> >> Hi,
>>> >>
>>> >> Thanks. If a difference of that magnitude can be seen, then it should also
>>> >> show up when running the regressiontests (e.g. cmake
>>> >> -DREGRESSIONTEST_DOWNLOAD=on and then make check) as a failure
>>> >> of complex/nbnxn-ljpme-LB (which is the only P-R test that can run on the
>>> >> GPU). If other tests fail, then the problem is actually more widespread.
>>> >>
>>> >> It may be that there is some issue with some part of the Mac+clang+OpenCL
>>> >> stack - we didn't target it during development, and at the last minute when
>>> >> Erik was unexpectedly able to get it to compile. I don't know if he got
>>> >> tests to pass. Erik?
>>> >>
>>> >> Mark
>>> >>
>>> >> On Wed, Jul 15, 2015 at 5:22 PM Carlo Camilloni <carlo.camilloni at gmail.com <mailto:carlo.camilloni at gmail.com>>
>>> >> wrote:
>>> >>
>>> >>>
>>> >>> Dear Mark and Szilard,
>>> >>>
>>> >>> thanks for your answer. I filed a bug in redmine but in the meantime I was
>>> >>> running more tests and I am a bit scared by what I found:
>>> >>>
>>> >>> what I have done is the following I have performed a single step run with
>>> >>> gmx51-rc1 compiled with cuda, again clang and so on
>>> >>> and compared the forces on the first step with -nb cpu or not (I am using
>>> >>> -pforce 1), the forces are identical:
>>> >>>
>>> >>> ie.:
>>> >>>
>>> >>> cuda-gpu
>>> >>>
>>> >>> step 0 atom 1 x 3.940 5.612 2.226 force 1.90839e+03
>>> >>> step 0 atom 2 x 3.852 5.659 2.211 force 4.24845e+02
>>> >>> step 0 atom 3 x 3.979 5.665 2.303 force 6.89472e+02
>>> >>> step 0 atom 4 x 3.992 5.610 2.139 force 7.42053e+02
>>> >>>
>>> >>>
>>> >>> cpu:
>>> >>>
>>> >>> step 0 atom 1 x 3.940 5.612 2.226 force 1.90839e+03
>>> >>> step 0 atom 2 x 3.852 5.659 2.211 force 4.24845e+02
>>> >>> step 0 atom 3 x 3.979 5.665 2.303 force 6.89472e+02
>>> >>> step 0 atom 4 x 3.992 5.610 2.139 force 7.42053e+02
>>> >>>
>>> >>> if I do the same test on the version compiled with OpenCL
>>> >>>
>>> >>> cpu:
>>> >>>
>>> >>> (the former are done on my macbook pro avx2_256 this latter on a MacPro
>>> >>> avx_256, this should
>>> >>> explain the small differences in the forces)
>>> >>>
>>> >>> step 0 atom 1 x 3.940 5.612 2.226 force 1.90838e+03
>>> >>> step 0 atom 2 x 3.852 5.659 2.211 force 4.24848e+02
>>> >>> step 0 atom 3 x 3.979 5.665 2.303 force 6.89470e+02
>>> >>> step 0 atom 4 x 3.992 5.610 2.139 force 7.42043e+02
>>> >>>
>>> >>> opencl-gpu:
>>> >>> step 0 atom 1 x 3.940 5.612 2.226 force 1.48597e+03
>>> >>> step 0 atom 2 x 3.852 5.659 2.211 force 6.26942e+02
>>> >>> step 0 atom 3 x 3.979 5.665 2.303 force 8.44032e+02
>>> >>> step 0 atom 4 x 3.992 5.610 2.139 force 7.92786e+02
>>> >>>
>>> >>> I am afraid there is something wrong in OpenCL kernels.
>>> >>>
>>> >>> I am using the topol-nvt-nogen.tpr I have uploaded on redmine.
>>> >>>
>>> >>> Best,
>>> >>> Carlo
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Gromacs Developers mailing list
>>> >>>
>>> >>> * Please search the archive at
>>> >>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List <http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List> before
>>> >>> posting!
>>> >>>
>>> >>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists <http://www.gromacs.org/Support/Mailing_Lists>
>>> >>>
>>> >>> * For (un)subscribe requests visit
>>> >>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers <https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers>
>>> >>> or send a mail to gmx-developers-request at gromacs.org <mailto:gmx-developers-request at gromacs.org>.
>>> >>>
>>> >> -------------- next part --------------
>>> >> An HTML attachment was scrubbed...
>>> >> URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20150715/fb1d4126/attachment.html <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20150715/fb1d4126/attachment.html>>
>>> >>
>>> >> ------------------------------
>>> >>
>>> >> --
>>> >> Gromacs Developers mailing list
>>> >>
>>> >> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List <http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List> before posting!
>>> >>
>>> >> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists <http://www.gromacs.org/Support/Mailing_Lists>
>>> >>
>>> >> * For (un)subscribe requests visit
>>> >> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers <https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers> or send a mail to gmx-developers-request at gromacs.org <mailto:gmx-developers-request at gromacs.org>.
>>> >>
>>> >> End of gromacs.org <http://gromacs.org/>_gmx-developers Digest, Vol 135, Issue 17
>>> >> ***********************************************************
>>> >
>>>
>>> --
>>> Gromacs Developers mailing list
>>>
>>> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List <http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List> before posting!
>>>
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists <http://www.gromacs.org/Support/Mailing_Lists>
>>>
>>> * For (un)subscribe requests visit
>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers <https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers> or send a mail to gmx-developers-request at gromacs.org <mailto:gmx-developers-request at gromacs.org>.
>>> --
>>> Erik Lindahl <erik.lindahl at gmail.com <mailto:erik.lindahl at gmail.com>>
>>> Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm University
>>> Professor of Theoretical biophysics, Dept. Theoretical Physics, Royal Inst. Technology
>>> Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
>>>
>> --
>> Erik Lindahl <erik.lindahl at gmail.com <mailto:erik.lindahl at gmail.com>>
>> Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm University
>> Professor of Theoretical biophysics, Dept. Theoretical Physics, Royal Inst. Technology
>> Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
>> --
>> Gromacs Developers mailing list
>>
>> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List <http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List> before posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists <http://www.gromacs.org/Support/Mailing_Lists>
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers <https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers> or send a mail to gmx-developers-request at gromacs.org <mailto:gmx-developers-request at gromacs.org>.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20150720/ba44f6b7/attachment-0003.html>
More information about the gromacs.org_gmx-developers
mailing list