<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Ali,<div class=""><br class=""></div><div class="">Thanks for the link - that looks pretty fun.  </div><div class=""><br class=""></div><div class="">Happy to discuss somewhere more appropriate if you send me there, but a couple of questions:</div><div class=""><br class=""></div><div class="">1) Are grids regular in that you can’t specify variable grid spacing (even if it is still Cartesian)?  </div><div class=""><br class=""></div><div class="">2) It seems maybe no topography?  </div><div class=""><br class=""></div><div class="">I think both 1 and 2 make it really hard to use GPUs or spectral methods in general, but I could very well be ignorant of recent advances.  <br class=""><div><br class=""></div><div>Thanks,   Jody</div><div><br class=""><blockquote type="cite" class=""><div class="">On 4 Aug 2020, at 10:27, Ali Ramadhan <<a href="mailto:alir@mit.edu" class="">alir@mit.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Robin,<div class=""><br class=""></div><div class="">Not an answer to your question but if your simulations are non-hydrostatic on regular Cartesian grids then you might be able to run Oceananigans.jl on a GPU: <a href="https://github.com/CliMA/Oceananigans.jl" class="">https://github.com/CliMA/Oceananigans.jl</a></div><div class=""><br class=""></div><div class="">It uses mostly the same finite volume algorithm as MITgcm but with a more efficient pressure solver since it focuses on regular Cartesian grids. It's more for ocean process studies, i.e. simulation patches of ocean or incompressible fluid. Unfortunately, Oceananigans.jl does not run simulations on the sphere so it may not be suitable for your work.</div><div class=""><br class=""></div><div class="">But if you think it might benefit your work, I'm more than happy to help out with setting up your problem in Oceananigans.jl and we can try running it on your GPU.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Ali</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 4, 2020 at 12:50 PM Robin Despouys <<a href="mailto:robin.despouys@gmail.com" class="">robin.despouys@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Hello Dear Community, <div class=""><br class=""></div><div class="">I would like to know if there is any current work on trying to use Graphics Processing Units in order to accelerate the simulations on personal desktop. </div><div class=""><br class=""></div><div class="">I just discovered this incredible work, MITgcm, thanks to a friend who is doing simulations for his PhD. We managed to run his simulations on my Computer but due to the limitations of my CPU 4 cores, 4 Ghz I theoretically have 64 GFLOPS on best case scenario, and according to the specs of my GPU I could theoretically have 7 TFLOPS (again best case scenario). </div><div class=""><br class=""></div><div class="">So today we started a simulation using MPI and 4 cores, my friend says it will take roughly 4 days.  So with my simple supposition and ignoring all the drawbacks and limitations due to the synchronisation of highly multithreaded computation we could run this simulation 100 times faster which would reduce the computation time to ~ 1 hour.</div><div class=""><br class=""></div><div class="">I know that we could simply use MPI with a cluster of machines or with a super-calculator.</div><div class="">I can't help but think : that there might be a way to harness the power of GPUs by using an implementation of the OpenCL standard in C and make it "callable" through the wrapper without having to change the numerical input models. </div><div class=""><br class=""></div><div class="">I am very new to FORTRAN and I have a reasonable understanding of C but at the moment I have a very approximate knowledge of the Software Architecture of MITGcm. Then... maybe what I am asking for is impossible.</div><div class=""><br class=""></div><div class="">But if it is possible! Perhaps some of you could point me at the parts I should focus on what/where should I update/add some code. (Yup it is a very broad question^_^). </div><div class=""><br class=""></div><div class="">Best regards, </div><div class=""><br class=""></div><div class="">Robin</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></div>
_______________________________________________<br class="">
MITgcm-support mailing list<br class="">
<a href="mailto:MITgcm-support@mitgcm.org" target="_blank" class="">MITgcm-support@mitgcm.org</a><br class="">
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" rel="noreferrer" target="_blank" class="">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a><br class="">
</blockquote></div>
_______________________________________________<br class="">MITgcm-support mailing list<br class=""><a href="mailto:MITgcm-support@mitgcm.org" class="">MITgcm-support@mitgcm.org</a><br class="">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support<br class=""></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: "Lucida Sans Typewriter"; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div style="word-wrap: break-word;" class=""><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: "Lucida Sans Typewriter"; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div class="">--</div><div class="">Jody Klymak    </div><div class=""><a href="http://ocean-physics.seos.uvic.ca/~jklymak/" class="">http://ocean-physics.seos.uvic.ca/~jklymak/</a></div><div class=""><br class="khtml-block-placeholder"></div><div class=""><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></div></span></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></div></body></html>