[gmx-developers] looking for co-mentor for GSoC 2020: TNG format

Eric Irrgang ericirrgang at gmail.com
Mon Mar 23 12:10:48 CET 2020


Hello Extended TNG people,

Whether or not you choose to use Eigen, directly, for data interchange, I
would encourage you to consider compatibility with Eigen / mdspan / mdarray
buffer layout (and descriptors) to allow zero-copy data interchange across
library binaries and allow super-fast numpy compatibility, whether or not
you get as far as the Python bindings in the current project.

I expect to be working on data interchange for GROMACS at the beginning of
May, and it would be great to be working towards a world of zero-copy data
interchange between a TNG library, MDAnalysis and GROMACS.

I would be happy to consult on efficiency, compatibility, or
interoperability. In any case, I look forward to any results of this effort.

Best,
M. Eric Irrgang

On Mon, Mar 23, 2020 at 1:15 AM Oliver Beckstein <obeckste at asu.edu> wrote:

> Hello TNG people,
>
> Apologies for the delayed reply.
>
> My take-away from your comments on the TNG library are:
>
> 1. TNG has all major features defined (although a more polished API might
> be desirable).
> 2. You consider the current C code in  https://github.com/gromacs/tng as
> the reference implementation
> 3. More tests would be welcome.
> 4. At the moment there is no-one who is really looking after the code. (At
> least at a cursory glance, documentation is hard to find;  presumably
> https://github.com/gromacs/tng/blob/master/Trajectoryformatspecification.mk  is
> important as well as the JCC 2014 paper (and the 2011 one). )
> 5. You consider porting the existing C code to C++ would be the next
> important step so that at least Gromacs itself can move towards TNG
> adoption.
>
> We can advertise the project as
>
> 1. Port existing TNG C code to C++
> 2. Write the API documentation  (doxygen strings + minimal example for how
> to use the library)
> 3. Stretch goal: Create a Python wrapper (based on
> https://github.com/MDAnalysis/pytng or other approaches).
>
> Questions:
>
> Is this a realistic plan for a student with no previous experience with
> the specifics but knowledge of C/C++ & python, for May 18 – Aug 10 (~3
> months)?
>
> @Paul: would you be able to co-mentor a student (primarily 1 and 2)?
>
> @Magnus: would you be available for consultations – basically, replying to
> emails on whatever mailing list/issue tracker the conversation will happen?
>
> Would you think that this would be worth everyone’s time? Mentors will be
> involved in choosing students so you won’t get someone that you don’t feel
> is suitable.
>
> There’s no guarantee that this project will be chosen but we would see by
> March 31 (application deadline).
>
>
> Oliver
>
>
>
>
>
> On Mar 19, 2020, at 1:16 AM, Paul bauer <paul.bauer.q at gmail.com> wrote:
>
> Hello,
>
> I concur with Magnus that moving the TNG codebase to C++ would be a major
> win and make integration in e.g. GROMACS even better.
> I can also see that I help with mentoring from the GROMACS side, to help
> with providing a smooth integration process.
>
> Cheers
>
> Paul
>
> On 19/03/2020 09:13, Magnus Lundborg wrote:
>
> Hi,
>
> As the main developer of the TNG API I'm happy to hear about this
> initiative as we needed more hands already from the beginning, and no-one
> has taken the development over since I moved on to other things.
>
> On 2020-03-18 21:17, David van der Spoel wrote:
>
> Den 2020-03-18 kl. 19:20, skrev Oliver Beckstein:
>
> Hello Gromacs Developers,
>
> As part of Google Summer of Code 2020 with MDAnalysis <
> https://www.mdanalysis.org/2020/02/22/gsoc2020/#google-summer-of-code-2020>
> we proposed a project to work on the TNG format. Originally the plan was to
> just make sure that MDAnalysis can work with TNG but after a chat with Erik
> at BPS (and in the spirit of the last MolSSI interoperability workshop) we
> thought that it would be more useful to take a step back and possibly work
> towards finalizing the TNG format <
> https://github.com/MDAnalysis/mdanalysis/wiki/Project-Ideas-2020#project-6-implement-tng-support> with
> the goal to make it usable in any MD analysis code (including MDAnalysis).
> The preliminary objectives would be:
>
>
> Great initiative!
>
>
>  1. Fully define the API and capabilities of TNG.
>
> The existing functionality or would you add stuff that has been disccussed
> for a long time like energies and other data blocks?
>
> As far as I know the API should be complete as it is, but perhaps not as
> polished as would be nice. Adding energies and other data blocks are more a
> matter of adding it in the software packages using the library. The only
> exception is that data block IDs are kept as a central repository in the
> library. But this is just to keep track of them and to avoid ID conflicts.
> As far as I remember, there is in principle nothing that prevents anyone
> from writing anything in TNG.
>
>
>  2. Write documentation.
>  3. Write a reference library implementation (C or C++).
>
> How would that be different from the existing implementation?
>
> Yes, what is the difference between the existing API and library (in C)?
> There are plans to make it more C++ compliant. That could be a good
> project. A full rewrite to proper C++ would be even better. One problem
> since early on was that the API and ABI was promised to be fully backwards
> compatible. That makes a redesign harder and explains some of the "late
> add-ons".
>
>
>  4. Write tests.
>
> There are some functionality tests in the TNG library, but more extensive
> unit tests would of course be good.
>
>  5. Bonus: Write Python bindings (see start in our pytng
>     <https://github.com/MDAnalysis/pytng> library) and integrate with
>     MDAnalysis
>
>
>
> This project outline is not set in stone and we would be more than happy
> to adapt it according to your expert input.
>
> We have at least one promising candidate student who is interested in
> working on this project during 10 weeks this summer.
>
> We would need at least one knowledgable co-mentor from the GROMACS
> developer community who could commit to mentoring. See
> https://google.github.io/gsocguides/mentor/ what is expected of mentors.
> In short, you would be involved in selecting students, communicating with
> the student (primarily using mailing lists and issue trackers) on a
> near-daily basis, help with keeping the project on track, and evaluating
> the student for GSoC (midterm and final evaluation at pass/fail level).
> About 5h/week is a realistic minimum.
>
> I could hopefully clarify some things in the beginning of the project and
> possible during as well, but I'm afraid I cannot promise any regular
> co-mentoring.
>
>
> We completely understand that in the current global crisis, you might have
> more urgent things to do. But if you think that you could be a co-mentor
> for this project, please let us know soon because students have to write
> their applications; their deadline is March 31 but they can submit
> applications now and unless we have a GROMACS co-mentor we will not be
> offering the TNG project so students.
>
> Thank you!
>
> Oliver (for the MDAnalysis GSoC 2020 Mentors)
>
>
>
> --
> Oliver Beckstein, DPhil * oliver.beckstein at asu.edu <
> mailto:oliver.beckstein at asu.edu <oliver.beckstein at asu.edu>>
> https://becksteinlab.physics.asu.edu/
>
> Associate Professor of Physics
> Arizona State University
> Center for Biological Physics and Department of Physics
> Tempe, AZ 85287-1504
> USA
>
> Office: PSF 348
> Phone: +1 (480) 727-9765
> FAX: +1 (480) 965-4669
>
> Department of Physics: https://physics.asu.edu/content/oliver-beckstein
> Center for Biological Physics:
> https://cbp.asu.edu/content/oliver-beckstein
>
>
>
>
>
>
> --
> Paul Bauer, PhD
> GROMACS Development Manager
> KTH Stockholm, SciLifeLab
> 0046737308594
>
> --
> 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.
>
>
>
> --
> Oliver Beckstein, DPhil * oliver.beckstein at asu.edu
> https://becksteinlab.physics.asu.edu/
>
> Associate Professor of Physics
> Arizona State University
> Center for Biological Physics and Department of Physics
> Tempe, AZ 85287-1504
> USA
>
> Department of Physics: https://physics.asu.edu/content/oliver-beckstein
> Center for Biological Physics:
> https://cbp.asu.edu/content/oliver-beckstein
>
> --
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20200323/cecbd409/attachment.html>


More information about the gromacs.org_gmx-developers mailing list