<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=""><div class=""><br class=""></div>   This is a very complex question. But most PETSc simulations are memory bandwidth limited so to first order you want to purchase something that delivers the highest possible memory bandwidth for your price tag. For a pure CPU system it is the cumulative memory bandwidth you can utilize over multiple cores that matters, <a href="https://petsc.org/release/faq/#what-kind-of-parallel-computers-or-clusters-are-needed-to-use-petsc-or-why-do-i-get-little-speedup" class="">https://petsc.org/release/faq/#what-kind-of-parallel-computers-or-clusters-are-needed-to-use-petsc-or-why-do-i-get-little-speedup</a><div class=""><br class=""></div><div class="">   GPUs are designed to be high memory bandwidth and hence can offer for large enough problems an higher overall bandwidth than a CPU can alone, but it may be difficult to take advantage of the bandwidth. In turns of mature software support in PETSc for GPUs the best choice is NVIDIA.</div><div class=""><br class=""></div><div class="">   If you have a good test case for your class of problems coded you might consider using some cloud services to benchmark some hardware choices for your problem before purchasing anything.</div><div class=""><br class=""></div><div class="">  Barry</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">  <br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Oct 13, 2021, at 12:18 PM, Tianchi Li <<a href="mailto:celestechevali@gmail.com" class="">celestechevali@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Hello,</span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">I’m planning to parallelize my C++ simulation code with<span class="gmail-Apple-converted-space"> </span><span class="gmail-SpellE">PETSc</span>.<span class="gmail-Apple-converted-space"> </span></span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">And I wish to buy a local workstation to perform the parallel code development and later productive runs.</span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Before purchasing the workstation, I wish to know if there is any limitation or recommendation for<span class="gmail-Apple-converted-space"> </span><span class="gmail-SpellE">PETSc</span><span class="gmail-Apple-converted-space"> </span>implementation on the hardware side ?</span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">For example, is there any hardware limitation about the MPI or GPU parallelism ? (e.g. Nvidia or AMD graphics cards, Intel or AMD CPUs)</span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Concerning cost-effectiveness, does a hybrid CPU-GPU machine have more advantages than an all-CPU one ? (if using GPU acceleration) </span></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">Thank you so much in advance.</span></div><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><br class=""></span></div><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class="">I appreciate any advice that you provide.<br class=""></div><div style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class=""></div><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p><p class="MsoNormal" style="margin: 0cm; font-size: 11pt; font-family: Calibri, sans-serif;"><span lang="EN-US" class=""> </span></p></div>
</div></blockquote></div><br class=""></div></body></html>