[CPMD-list] =?GB2312?B?tPC4tDogUmU6IFtDUE1ELWxpc3RdIENQTUQgb24gUFMz?=

Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu
Tue Apr 1 21:17:37 CEST 2008


On Tue, 1 Apr 2008, caohe at dawning.com.cn wrote:

CH> Hi axel and everyone£¬


hi cao he,

CH>    I'm very care the GPGPU technic.I think it is very powerful, 50-100 
CH> times speed as Nvidia alleged. 

however, that kind of speedup is for only for single-precision and
very favorable cases. see, e.g.,

http://www.ks.uiuc.edu/Research/gpu/#ionplacement

for more real-world cases, a speedup of a factor of 5-10
would be already a big achievement. ...and again the main
issue is the lack of double precision floating point support.

given the problem sizes that we can currently already handle,
even double precision floating point is putting a noticable
limit on numeric stability for very large systems. you have
to keep in mind that we have interaction energies and forces
that span quite a few orders of magnitude. see, e.g., 
http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems
to get a brief glimpse of how bad it can get and how much (quite 
often undeserved) faith we all put in the numbers we compute.

one of our group members is working on adding GPGPU support 
to DFT codes (right now he is working on CP2K not CPMD, though) and
he is happy to have managed a factor of two speedup by replacing
some less accuracy sensitive code with single precision GPGPU 
code. unlike CPMD, cp2k can be compiled and run in single precision 
and we mad some tests how large system can be reasonably handled
and the outcome is not overly promising. essentially, GPGPU does 
not give much speedup unless for rather large systems. but those
are beyond what can be handled well in single precision.
you end up computing "near random numbers". the fact that you'll
get them very fast is no really making it less depressing...

CH>    Last year, I test the Clearspeed accelerating card . It only can 
CH> accelerate the part of Level 3 BLAS, So all the software must be rewrite. 
CH> This is not good. 

CPMD is already well "blasified". the main problem with 
adapter cards (like clearspeed and GPGPUs) is how to get the 
data on the card fast and how to get it back as fast. the latter 
is the biggest problem of current GPGPUs, as their original
design (graphics cards) had them as "write only" devices.

CH>    As I known, the CUDA is based on C language, and David B. Kirk, the 
CH> chief scientist of Nvidia , told me CUDA will support Fortran in future.
CH>    I want know if CPMD will be support GPGPU like Clearspeeed's or 
CH> Nvidia's ? 

CUDA BLAS does have a fortran interface, but in general it is not 
very difficult to interface C to fortran these days. the problem again
is that you'll have to rewrite parts of the code to accommodate
the requirements of the GPGPU and to do that we need qualified manpower
and (financial) support to pay for hard- and "human"ware. both is
hard to come by these days.

as with any of these "accelerators" (think about SIMD instructions,
or automatically parallelizing compilers), the speedup in the general 
case will be very limited, as proper alignment, data transfer, 
parallelization strategies and many other details play an important role 
and they cannot be automated.

cheers,
   axel.

CH>    Thanks! 
CH>  
CH> cheers,
CH>    Cao He
CH> 
CH> 
CH>    Blade Server product Manager
CH>    Dawning Ltd. Co.
CH>    Beijing
CH>    China
CH> 
CH> 
CH> 
CH>  
CH>  
CH> 
CH> 
CH> 
CH> Axel Kohlmeyer <akohlmey at cmm.chem.upenn.edu> 
CH> ·¢¼þÈË:  cpmd-list-bounces at cpmd.org
CH> 2008/04/01 19:22
CH> Çë´ð¸´ ¸ø
CH> Axel Kohlmeyer <akohlmey at cmm.chem.upenn.edu>
CH> 
CH> 
CH> ÊÕ¼þÈË
CH> "Yirdaw, Robel Birru" <robel.b.yirdaw at Vanderbilt.Edu>
CH> ³­ËÍ
CH> CPMD-list at cpmd.org
CH> Ö÷Ìâ
CH> Re: [CPMD-list] CPMD on PS3
CH> 
CH> 
CH> 
CH> 
CH> 
CH> 
CH> On Mon, 31 Mar 2008, Yirdaw, Robel Birru wrote:
CH> 
CH> RBY> Hello all,
CH> RBY> 
CH> RBY> Does anyone know if it is possible to compile and run CPMD on the new
CH> RBY> playstation (PS3)?  If not, will it be possible to do so in the 
CH> upcoming
CH> 
CH> robel,
CH> 
CH> you should be able to compile current CPMD versions to run on the
CH> PPC part of the Cell processor for as long as you run linux on it.
CH> you probably don't even need the IBM toolchain for that.
CH>  
CH> however, there is currently no support for the special SIMD units 
CH> (SPEs) of the cell processor in CPMD. according to wikipedia, 
CH> the performance of which is supposed to drop by an order of magnitude
CH> when using double precision floating point (compared to single 
CH> precision, which is sufficient for games, but not codes like CPMD). 
CH> 
CH> there is a full speed double precision verison of the cell processor 
CH> announced for the "roadrunner" cluster at los alamos, but still using 
CH> CPMD (or any other code) on that machine efficiently would require a 
CH> major rewrite of several parts of the code, as the cell processor is 
CH> very demanding in that respect. in contrast, it will be much easier to 
CH> add support for GPGPUs (once they move to double precision, as it is 
CH> rumored for the next generation of nvidia hardware) using an interface
CH> like CUDA.
CH> 
CH> in any case, those developments would require that somebody actually
CH> devotes some time to work on that, and i don't know of anybody at
CH> the momemnt. if there is, please speak up... ;-)
CH> 
CH> cheers,
CH>    axel.
CH> 
CH> RBY> versions of CPMD?
CH> RBY> 
CH> RBY> Thanks,
CH> RBY> 
CH> RBY> -Robel
CH> RBY> 
CH> RBY> _______________________________________________
CH> RBY> CPMD-list mailing list
CH> RBY> CPMD-list at cpmd.org
CH> RBY> http://cpmd.org/mailman/listinfo/cpmd-list
CH> RBY> 
CH> 
CH> 

-- 
=======================================================================
Axel Kohlmeyer   akohlmey at cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.


More information about the CPMD-list mailing list