Abinit with GPU support platform

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
roginovicci
Posts: 75
Joined: Thu Dec 02, 2010 10:36 pm

Abinit with GPU support platform

Post by roginovicci » Thu May 29, 2014 12:09 am

Sorry if I post in wrong section. I had some experience to work with abinit on hybrid cluster ( CPU(xenon)+GPU(nvidia tesla) ). To enable GPU support one needs additional libraries and some options. After digging a while it seems that there is some boost in performance in ground state calculations. The hybrid cluster I used is kinda wired so I'm not sure it working as it should so I dicided to try GPU on my workstation. GPU calculations is a black hole for me, so I have a couple of questions:
1. I wonder if it is necesary to buy a tesla gpu. Is there a cheaper solution. May I use Geforce family of graphics video card for calculations. And why tesla are so popular and cost much. Is it higher performce?
2. Some my calculations requre a lot of memory, more than 3Gb while tesla have only 6Gb. Is it (small memory in graphics card) bad for calculation. Should I choose the one with as much mamory as possibly?

Many thx in advance.

User avatar
pouillon
Posts: 651
Joined: Wed Aug 19, 2009 10:08 am
Location: Spain
Contact:

Re: Abinit with GPU support platform

Post by pouillon » Mon Jun 09, 2014 11:50 am

For whichever kind of calculation, I would personally not focus so much on the technical specifications of the GPU cards. To achieve an interesting speedup, the most critical aspect is to limitate the amount of transfers between the CPUs and the GPUs, while maximizing the filling of the GPUs at each transfer. Hence, before choosing the architecture of your cluster, the question is more: "do most of the systems I will study from now on allow for an optimal use of the GPUs?"

In practice, what we've seen is that in many cases, MPI and OpenMP+MPI calculations provide better performance and scaling than MPI+GPU, in addition to be much easier to prepare and validate. The investment in GPUs is thus interesting for you only if all your calculations are similar and well-suited, and if all the software you use has been explicitely adapted for hybrid architectures. Depending on your choices, you may also have to consider vendor lock-in and fast hardware obsolescence issues.

GPU support in Abinit is not fully production-level and is available for ground-state calculations only. You may thus want to make some tests with alternative methodologies before deciding to go for GPUs. My advice: scientific aspects should always have a higher priority than technical ones in strategic choices of this kind.
Yann Pouillon
Simune Atomistics
Donostia-San Sebastián, Spain

Locked