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

Mark Abraham mark.j.abraham at gmail.com
Tue Feb 11 22:39:50 CET 2014


On Feb 11, 2014 7:26 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.

Agree there is no known need to have them have different values. As I said
earlier, our use of TNG needs this to be a cache variable, which means
there are persistence issues when GMX_OPENMP changes, whether we use
set(... CACHE FORCE) or not. Magnus is experimenting with an external
project to see if we can set up the trivial coupling that would then be
possible.

The auto enum suggestion is a good one to keep in mind for the future!

Mark

> 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-developersor 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-developersor send a mail to
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/20140211/0973614a/attachment.html>


More information about the gromacs.org_gmx-developers mailing list