Optimization of projector application

Registered by Alberto Garcia on 2016-10-11

The application of projectors (currently in nlefsm, and soon in the forthcoming PAW implementation) might cause inefficiencies in parallelization. Several strategies can be used to ameliorate the problem.

Blueprint information

Status:
Complete
Approver:
Alberto Garcia
Priority:
Medium
Drafter:
Alberto Garcia
Direction:
Approved
Assignee:
Alberto Garcia
Definition:
Approved
Series goal:
Accepted for 4.1
Implementation:
Implemented
Milestone target:
milestone icon 4.1-b2
Started by
Alberto Garcia on 2016-11-04
Completed by
Alberto Garcia on 2016-11-04

Related branches

Sprints

Whiteboard

Initial efforts are addressed at nlefsm in the 4.1 series. Branch: lp:~albertog/siesta/4.1-nl.
The main problem is that the loop over KB projectors is "global", and a substantial amount of work, proportional to the size of the system, has to be done by all MPI processes.
The initial steps in nlefsm optimization have reduced the cpu weight of that loop by:

- Pre-computation of the atoms really involved in KB overlaps with the orbitals handled by the process.
- Early exit from the loop after simpler tests
- Other minor optimiizations

Further progress is now associated to blueprint "new-distributions-for-projectors"

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.