ParallelCode
I am currently in the process of parallelising the CPMD-NECI code. Our approach is:
- Integrals are the bottleneck.
- Parallelise the integrals. This is already (mainly) done in CPMD: the wavefunctions and fourier mesh are already distributed over processors.
--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)