[gmx-users] compile Gromacs using Cray compilers

Szilárd Páll szilard.pall at cbr.su.se
Mon May 20 19:06:04 CEST 2013


The thread-MPI library provides the thread affinity setting
functionality to mdrun, hence certain parts of it will always be
compiled in, even with GMX_MPI=ON. Apparently, the Cray compiler does
not like some of the thread-MPI headers. Feel free to file a bug
report on redmine.gromacs.org, but *don't* expect it to get high
priority (reasons below).

FYI, the Cray compiler does not support SIMD intrinsics and therefore
you can't use any of the SIMD accelerated  code. hence, the overall
performance will be at least 3x lower than with a compiler that has
decent SIMD instrinsics support.

--
Szilárd


On Mon, May 20, 2013 at 6:16 PM, Humayun Arafat <hasagar at gmail.com> wrote:
> Hi,
>
> I enabled mpich2 and used that to compile gromacs using this command
> cmake   -DGMX_MPI=ON ..
>
> But I am still getting the error.
>
> [ 10%] Building C object
> src/gmxlib/CMakeFiles/gmx.dir/gmx_thread_affinity.c.o
> CC-20 craycc: ERROR File =
> /home/users/mmm/gromacs/include/thread_mpi/atomic.h, Line = 202
>   The identifier "tMPI_Thread_mutex_t" is undefined.
>
>   static tMPI_Thread_mutex_t tMPI_Atomic_mutex =
> TMPI_THREAD_MUTEX_INITIALIZER;
>
>
> It seems like even though it is disabling threadmpi, it is still making
> some tests
> I added some part of the cmake output.
>
> -- MPI is not compatible with thread-MPI. Disabling thread-MPI.
> -- Checking for MPI_IN_PLACE
> -- Performing Test MPI_IN_PLACE_COMPILE_OK
> -- Performing Test MPI_IN_PLACE_COMPILE_OK - Success
> -- Checking for MPI_IN_PLACE - yes
> -- Checking for CRAY XT Catamount compile
> -- Checking for CRAY XT Catamount target - no
> CMake Warning at cmake/ThreadMPI.cmake:52 (message):
>   Atomic operations not found for this CPU+compiler combination.  Thread
>   support will be unbearably slow: disable threads.  Atomic operations
> should
>   work on all but the most obscure CPU+compiler combinations; if your system
>   is not obscure -- like, for example, x86 with gcc -- please contact the
>   developers.
> Call Stack (most recent call first):
>   cmake/ThreadMPI.cmake:100 (test_tmpi_atomics)
>   CMakeLists.txt:558 (include)
>
>
> thanks a lot for your help.
>
>
>
> On Mon, May 20, 2013 at 10:34 AM, Mark Abraham <mark.j.abraham at gmail.com>wrote:
>
>> Specify an MPI compiler and use cmake -DGMX_MPI=on by itself. That is
>> mutually exclusive with thread mpi.
>>
>> Mark
>>
>>
>> On Mon, May 20, 2013 at 5:01 PM, Humayun Arafat <hasagar at gmail.com> wrote:
>>
>> > Hi,
>> >
>> > I tried different options.
>> >
>> > cmake -DGMX_MPI=ON/OFF ..
>> > cmake -DGMX_THREAD_MPI=OFF/ON ..
>> >
>> > I tried both of these two flags together. But none of them worked.
>> > The compilation fail in either gmx_omp.c or gmx_thread_affinity.c
>> >
>> > Can you please suggest me another way to turn off the thread mpi?
>> >
>> > Thanks
>> > Humayun
>> >
>> > On Fri, May 17, 2013 at 6:54 PM, Mark Abraham <mark.j.abraham at gmail.com
>> > >wrote:
>> >
>> > > Cray's compiler is largely/wholly untested. I'd suggest you use the
>> > version
>> > > of gcc that you know works.
>> > >
>> > > For use on a big cluster, you probably don't want Thread MPI anyway.
>> Does
>> > > cmake -DGMX_MPI work?
>> > >
>> > > Mark
>> > >
>> > >
>> > > On Sat, May 18, 2013 at 12:01 AM, Humayun Arafat <hasagar at gmail.com>
>> > > wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > >
>> > > > I need some help for the compilation of gromacs using Cray
>> > > compilers(CCE).
>> > > >
>> > > > I can compile gromacs using GNU compilers but not using CCE.
>> > > >
>> > > > I am using gromacs 4.6 and cmake 2.8.4 on Cray XE6
>> > > >
>> > > >
>> > > >
>> > > > After doing cmake, when I try to do make, I am getting this error.
>> > > >
>> > > >
>> > > >
>> > > > CC-20 craycc: ERROR File =
>> > > > /home/users/me/gromacs/include/thread_mpi/atomic.h, Line = 202
>> > > >
>> > > > The identifier "tMPI_Thread_mutex_t" is undefined.
>> > > >
>> > > > static tMPI_Thread_mutex_t tMPI_Atomic_mutex =
>> > > > TMPI_THREAD_MUTEX_INITIALIZER;
>> > > >
>> > > > ^
>> > > >
>> > > >
>> > > >
>> > > > Then I checked that the cmake  configuration had errors for this
>> > atomic.h
>> > > > header file.
>> > > >
>> > > > It does not find any atomic operations for cray compilers.
>> > > >
>> > > > Inside this header file, I see that there is nothing for Cray
>> > compilers.
>> > > >
>> > > > It has GNU,Intel, xlc….
>> > > >
>> > > > My guess is that probably it is not adding any atomic header file for
>> > > CCE.
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > Please suggest me some ways to fix this.
>> > > >
>> > > > Thank you for your help.
>> > > >
>> > > >
>> > > > Thanks
>> > > >
>> > > > Humayun
>> > > > --
>> > > > gmx-users mailing list    gmx-users at gromacs.org
>> > > > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > > * Please search the archive at
>> > > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > > > * Please don't post (un)subscribe requests to the list. Use the
>> > > > www interface or send it to gmx-users-request at gromacs.org.
>> > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > > >
>> > > --
>> > > gmx-users mailing list    gmx-users at gromacs.org
>> > > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > > * Please search the archive at
>> > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > > * Please don't post (un)subscribe requests to the list. Use the
>> > > www interface or send it to gmx-users-request at gromacs.org.
>> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> > >
>> > --
>> > gmx-users mailing list    gmx-users at gromacs.org
>> > http://lists.gromacs.org/mailman/listinfo/gmx-users
>> > * Please search the archive at
>> > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> > * Please don't post (un)subscribe requests to the list. Use the
>> > www interface or send it to gmx-users-request at gromacs.org.
>> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> >
>> --
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> * Please don't post (un)subscribe requests to the list. Use the
>> www interface or send it to gmx-users-request at gromacs.org.
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
> --
> gmx-users mailing list    gmx-users at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-users
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> * Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists



More information about the gromacs.org_gmx-users mailing list