<div dir="ltr">Hi,<div><br></div><div>There&#39;s a distant possibility that we could end up in a world where SYCL provides our GPU schedules and different kernel flavors suit different device versions and vendors in a way that is fast enough that the maintenance of both CUDA + SYCL costs more than any performance differential is worth. Note that the cost of an extra GROMACS GPU port accrues both in maintaining each port and reducing our opportunities to do algorithmic optimizations that is unlikely to be in scope for vendors to support directly. But any such point is well over a year away!</div><div><br></div><div>That Apple no longer supports OpenCL likely means that codes like OpenMM will stop working on Apple at some point. Whether anything relevant for HPC would also work on Apple at some point is unknown (and IMO unlikely e.g. AMD&#39;s HPC GPU stack doesn&#39;t work on Apple, Nvidia and Apple fell out some years ago).</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 10 Dec 2020 at 11:47, David van der Spoel &lt;<a href="mailto:spoel@xray.bmc.uu.se">spoel@xray.bmc.uu.se</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2020-12-10 09:54, Mark Abraham wrote:<br>
&gt; Hi,<br>
&gt; <br>
&gt; The developers announce functionality as deprecated each year. That <br>
&gt; gives users a chance to learn what changes may happen in future, so they <br>
&gt; can plan how to adapt.<br>
&gt; <br>
&gt; I&#39;ve proposed several things to deprecate at <br>
&gt; <a href="https://gitlab.com/gromacs/gromacs/-/issues/3818" rel="noreferrer" target="_blank">https://gitlab.com/gromacs/gromacs/-/issues/3818</a> <br>
&gt; &lt;<a href="https://gitlab.com/gromacs/gromacs/-/issues/3818" rel="noreferrer" target="_blank">https://gitlab.com/gromacs/gromacs/-/issues/3818</a>&gt; and want to encourage <br>
&gt; people to consider those choices before I make an MR for the GROMACS <br>
&gt; 2021 release notes.<br>
&gt; <br>
&gt; Often things we announce as deprecated remain that way for months or <br>
&gt; years before we actually remove it. That&#39;s fine.<br>
&gt; <br>
&gt; The potentially controversial item is the proposed deprecation of OpenCL <br>
&gt; support. We have active funded projects to implement support with SYCL <br>
&gt; for Intel GPUs, and some as-yet undecided framework for AMD GPUs. When <br>
&gt; those are in place, the usefulness of OpenCL as a portable approach for <br>
&gt; GPU support in GROMACS has expired. We have not had the resources to <br>
&gt; develop the current CUDA and OpenCL GPU code forks to the same extent, <br>
&gt; and we are not going to be able to do that any better when SYCL and <br>
&gt; perhaps HIP are also around. Continuing to support and test the OpenCL <br>
&gt; functionality is work that we would need to do that costs us the <br>
&gt; opportunity to further improve the ports we expect users to be using in <br>
&gt; GROMACS 2022.<br>
&gt; <br>
&gt; So, when we have made enough progress on the Intel and AMD fronts, we <br>
&gt; want the freedom to remove the OpenCL port, so that there&#39;s less work <br>
&gt; for us to do and more freedom to adapt our GPU portability layer in the <br>
&gt; directions it needs to move. I hope that will happen some time during <br>
&gt; the 2021 calendar year, but it won&#39;t be January :-).<br>
&gt; <br>
&gt; Please feel free to discuss OpenCL here, and anything else at that <br>
&gt; gitlab issue!<br>
&gt; <br>
&gt; Mark<br>
&gt; <br>
The state of things with programming frameworks is rather miserable to <br>
say the least. From the link below I read that  HipSycl may cover both <br>
AMD and Nvidia GPUs. However, looking a bit closer, only the expensive <br>
AMD cards seem to be supported. We&#39;ve been playing a bit with OpenMM <br>
recently that has extensive OpenCL support, and even on old laptops <br>
(Apple) that is a substantial improvement over using CPUs.<br>
<br>
<a href="https://unix.stackexchange.com/questions/612736/sycl-and-opencl-for-amd-gpu" rel="noreferrer" target="_blank">https://unix.stackexchange.com/questions/612736/sycl-and-opencl-for-amd-gpu</a><br>
<br>
I guess there is no plan to abandon all the Nividia code in GROMACS for <br>
something else, right?<br>
<br>
-- <br>
David van der Spoel, Ph.D.,<br>
Professor of Computational Molecular Biophysics<br>
Uppsala University.<br>
<a href="http://virtualchemistry.org" rel="noreferrer" target="_blank">http://virtualchemistry.org</a><br>
-- <br>
Gromacs Developers mailing list<br>
<br>
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
<br>
* Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
<br>
* For (un)subscribe requests visit<br>
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.</blockquote></div>