[gmx-developers] [RFC] setting up dependency between GMX_OPENMP and TNG_USE_OPENMP

Szilárd Páll pall.szilard at gmail.com
Tue Feb 11 19:58:01 CET 2014


On Tue, Feb 11, 2014 at 7:19 PM, Roland Schulz <roland at utk.edu> wrote:
>
>
>
> On Tue, Feb 11, 2014 at 1:08 PM, David van der Spoel <spoel at xray.bmc.uu.se>
> wrote:
>>
>> On 2014-02-11 14:40, Roland Schulz wrote:
>> > Hi,
>> >
>> > why does TNG_USE_OPENMP even exist? Why would a user want to set
>> > TNG_USE_OPENMP to something other than GMX_OPENMP? If it is really
>> > needed I suggest making TNG_USE_OPENMP a multi-choice (on, off, auto),
>> > where auto is the default and auto takes the value from GMX_OPENMP.
>> >
>> I guess because tng is also distributed as a separate package.
>
>
> That would explain why we need the variable TNG_USE_OPENMP, but not why that
> variable ever needs to be different than GMX_OPENMP. If there is no need for
> the user to be able to choose them independent, then it is trivial, because
> we can simply set TNG_USE_OPENMP to GMX_OPENMP.

If the default is TNG_USE_OPENMP=ON, there is indeed not much point to
expose this option to the user and it could as well be an internal
variable. I wonder, do the TNG multi-threaded algorithms always get
faster with OpenMP threads? Is there no risk of slowdown?

--
Szilárd

>
> Roland
>
>>
>> > Roland
>> >
>> >
>> > On Mon, Feb 10, 2014 at 1:36 PM, Mark Abraham <mark.j.abraham at gmail.com
>> > <mailto:mark.j.abraham at gmail.com>> wrote:
>> >
>> >     Hi,
>> >
>> >     Good question. I think it may be unsolvable in the current setup.
>> >     The TNG CMakeLists.cmake declares TNG_USE_OPENMP in its cache in the
>> >     normal way, but since there is only one cache and GROMACS accesses
>> >     that file with add_subdirectory, that makes that variable exist on
>> >     the GROMACS cache. Now getting that variable to track GMX_OPENMP
>> >     unless set by the user might be hard.
>> >
>> >     Using gmx_dependent_option seems like it might work, but I have not
>> >     yet put enough time into reading/testing how those functions work. I
>> >     am not sure from reading the descriptions if it can implement "copy
>> >     this value unless at some point these two values differed." Unless
>> >     Teemu has some insight from how he built these, we might have to
>> >     experiment and then document/extend accordingly.
>> >
>> >     Alternative: I believe we can give TNG its own cache by using what
>> >     is called an external project. Since I don't think we need a
>> >     separate cache variable in the GROMACS configuration UI for this
>> >     OpenMP setting, this should side-step the above, because the TNG
>> >     CMake will always see the parent project set the OpenMP in the TNG
>> >     cache. Might have other benefits also.
>> >
>> >     Mark
>> >
>> >     On Feb 10, 2014 2:49 PM, "Szilárd Páll" <pall.szilard at gmail.com
>> >     <mailto:pall.szilard at gmail.com>> wrote:
>> >
>> >         Hi,
>> >
>> >         I'm trying to fix issue #1432, but I realized that I know very
>> >         little
>> >         about the gmxOptionUtilities cmake module, so I thought I'd ask
>> > for
>> >         comments and suggestions.
>> >
>> >         Here's what I need to do (ideally/if possible):
>> >         - The value of the TNG_USE_OPENMP cache variable should always
>> > have
>> >         the same value as GMX_OPENMP (even if the latter gets changed
>> >         multiple
>> >         times) *unless*
>> >         - The user manually set a value for the TNG_USE_OPENMP variable.
>> >
>> >         I'm guessing I should use the gmx_dependent_option() macro, but
>> > I'm
>> >         not sure how. Tips would be appreciated!
>> >
>> >         Cheers,
>> >         --
>> >         Szilárd
>> >         --
>> >         Gromacs Developers mailing list
>> >
>> >         * Please search the archive at
>> >         http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List
>> >         before posting!
>> >
>> >         * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> >
>> >         * For (un)subscribe requests visit
>> >
>> > 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>.
>> >
>> >
>> >
>> >
>> > --
>> > ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
>> > <http://cmb.ornl.gov>
>>
>> > 865-241-1537, ORNL PO BOX 2008 MS6309
>> >
>> >
>>
>>
>> --
>> David van der Spoel, Ph.D., Professor of Biology
>> Dept. of Cell & Molec. Biol., Uppsala University.
>> Box 596, 75124 Uppsala, Sweden. Phone:  +46184714205.
>> spoel at xray.bmc.uu.se    http://folding.bmc.uu.se
>> --
>> Gromacs Developers mailing list
>>
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
>> posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or
>> send a mail to gmx-developers-request at gromacs.org.
>>
>>
>>
>>
>
>
>
> --
> ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
> 865-241-1537, ORNL PO BOX 2008 MS6309
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or
> send a mail to gmx-developers-request at gromacs.org.


More information about the gromacs.org_gmx-developers mailing list