Difference between revisions of "ParallelCode"

From CUC3
Jump to navigation Jump to search
import>Jss43
 
import>Jss43
Line 1: Line 1:
I am currently in the process of parallelising the CPMD-NECI code. Our approach is:
+
I am currently in the process of parallelising the CPMD-NECI code. Our approach is to note that integrals are the bottleneck, and so we just parallelise the integrals. The bulk of the work is already done for us in CPMD: the wavefunctions and fourier mesh are already distributed over processors, and the FFTs and sums over G-vectors are automatically done in parallel.
 
* Integrals are the bottleneck.
 
* Parallelise the integrals. This is already (mainly) done in CPMD: the wavefunctions and fourier mesh are already distributed over processors.
 
 
--[[User:jss43|james]] 19:10, 18 February 2008 (GMT)
 
--[[User:jss43|james]] 19:10, 18 February 2008 (GMT)
   

Revision as of 19:19, 18 February 2008

I am currently in the process of parallelising the CPMD-NECI code. Our approach is to note that integrals are the bottleneck, and so we just parallelise the integrals. The bulk of the work is already done for us in CPMD: the wavefunctions and fourier mesh are already distributed over processors, and the FFTs and sums over G-vectors are automatically done in parallel. --james 19:10, 18 February 2008 (GMT)

Status

I have (mainly) made the required changes to the integral routines. The only thing to deal with is the shifted integrals, but I think I know how to do this without any further communication between processors. We can calculate the exchange energy, hartree energy and KS determinant in parallel. Tardis is pleasingly fast. --james 19:10, 18 February 2008 (GMT)

To do

Fix problem with shifting co-densities during FFT. --james 19:10, 18 February 2008 (GMT)

Distribute the UMatCache (and TMAT?). The best way to accomplish this might be to split up the calculation into chunks, and have each processor store (only) the information required for its chunk. How should we go about this? Or is it better to split it up on a node-wise basis? --james 19:10, 18 February 2008 (GMT)

Parallelising NECI

Once this is done, we might be close to having NECI completely parallel. Is there anything else we'd need to do? --james 19:10, 18 February 2008 (GMT)