[gmx-developers] GROMACS OpenCL on Gallium

Szilárd Páll pall.szilard at gmail.com
Mon Dec 14 17:07:23 CET 2015


On Mon, Dec 14, 2015 at 4:50 PM, Vedran Miletić <rivanvx at gmail.com> wrote:

> Excellent. This segfaults on my Caicos (probably due to missing
> atomics), and runs correctly on my Bonaire. Tonga is completely broken
> at the moment [1].
>
> I will try to modify this example to make it fail instruction
> selection like GROMACS does.
>

Strange that it segfaults, that would mean that it generated code which
should not happen if the instruction is not supported, should it?



>
> Regards,
> Vedran
>
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=93264
>
> 2015-12-14 14:37 GMT+01:00 Szilárd Páll <pall.szilard at gmail.com>:
> > Hi,
> >
> > Last night I grabbed a trivial OpenCL sample code that does vector
> addition
> > (source [1]) and threw in an atomic add on floats:
> https://pastee.org/8jtbj
> > Would this work as a starting point?
> >
> > If this is too trivial, one option for extending it is to e.g. generate a
> > trivial neighbor list (e.g. a random list of index pairs into a
> coordinate
> > array) that the kernel looks over and calculate a distance (or some
> simple
> > pair potential-like function).
> >
> > Cheers,
> > --
> > Szilárd
> >
> > [1] https://www.olcf.ornl.gov/tutorials/opencl-vector-addition/#vecAdd.c
> >
> >
> > On Thu, Dec 10, 2015 at 4:56 PM, Szilárd Páll <pall.szilard at gmail.com>
> > wrote:
> >>
> >> Vedran,
> >>
> >> Unfortunately, don't think I will have enough time at least in the
> coming
> >> 1-2 weeks. I could help composing the kernel, but that's likely going
> to be
> >> little effort and I am quite inexperienced with OpenCL, especially with
> the
> >> API "glue" code needed to just have a small test kernel running.
> >>
> >> I could pith in with putting together the kernel, but if the goal is to
> >> have a simple test for global memory atomic addition on floats, perhaps
> the
> >> best idea is to strip down an SDK example* like a float vector addition
> (or
> >> reduction) and replace the regular global memory writes with the
> >> atomicAdd_g_f() function implemented in
> >> src/gromacs/mdlib/nbnxn_ocl/vectype_ops.clh.
> >>
> >>
> >> * Both the AMD SDK and NVIDIA's ancient OpenCL SDK should have ready
> code,
> >> but having checked briefly, a slight stripping down may be needed to
> remove
> >> certain optimizations and avoid utility functions.
> >>
> >> Cheers,
> >> --
> >> Szilárd
> >>
> >> On Wed, Dec 9, 2015 at 10:30 AM, Vedran Miletić <rivanvx at gmail.com>
> wrote:
> >>>
> >>> 2015-12-04 18:13 GMT+01:00 Szilárd Páll <pall.szilard at gmail.com>:
> >>> > Sounds good, is there anything on our side we can help with?
> >>> >
> >>> > Cheers,
> >>> >
> >>> > --
> >>> > Szilárd
> >>> >
> >>>
> >>> Szilard,
> >>>
> >>> actually, there is something that would be very useful, as I am
> >>> struggling with testing my changes at the moment. It would be great to
> >>> have minimal self-contained OpenCL example programs covering a
> >>> spectrum of features we use. As a start, I could use a minimal atomic
> >>> compare and swap example that would crash in the same way GROMACS does
> >>> now.
> >>>
> >>> LLVM requires tests for all patches [1]. So I would certainly reuse
> >>> these.
> >>>
> >>> Is this doable? I can try to make them myself, but you mentioned you
> >>> are familiar with the code so I'm hoping you could make them quicker.
> >>>
> >>> Regards,
> >>> Vedran
> >>>
> >>> [1] http://llvm.org/docs/DeveloperPolicy.html
> >>>
> >>> --
> >>> Vedran Miletić
> >>> http://vedranmileti.ch/
> >>> --
> >>> 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.
> >>
> >>
> >
> >
> > --
> > 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.
>
>
>
> --
> Vedran Miletić
> http://vedranmileti.ch/
> --
> 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/20151214/c9d51bf5/attachment-0001.html>


More information about the gromacs.org_gmx-developers mailing list