AW: ++idlepoll

From: Norman Geist (norman.geist_at_uni-greifswald.de)
Date: Mon Feb 06 2017 - 02:15:12 CST

In simple words:

 

In distributed parallel implementations, two or more endpoints that share
some kind of network connection exchange messages. In the case of GPU
acceleration this network is the PCIE bus and the endpoints are the CPU and
the GPU. The CPU puts work to the GPU and must wait for the GPU to return
back the result. Since the CPU can't know when the GPU will be finished, it
must frequently ask the GPU if it has finished, this is called polling. Such
polling without a wait time in-between is very CPU intensive (++idlepoll),
but with a wait time of N, there's always a chance of getting the results N
time too late, so this would waste time and increase latency. Therefore
using ++idlepoll is absolutely recommended, and even forced for GPU runs.

 

Norman Geist

 

Von: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] Im Auftrag
von Zeki Zeybek
Gesendet: Montag, 6. Februar 2017 08:21
An: namd-l_at_ks.uiuc.edu
Betreff: namd-l: ++idlepoll

 

Hi!

 

I was just wondering what is the rationale behind adding this command in
order to run a simulation on GPU. Simply I did not really understand what
the statement `you should add +idlepoll to the command line in order to poll
the GPU for results rather than sleeping while idle` means. Sorry for my
ignorance on the matter. I would appreciate any sort of detailed info on the
matter. Thank you in advance

This archive was generated by hypermail 2.1.6 : Sun Dec 31 2017 - 23:21:03 CST