Improving the performance of Quantum Espresso

Objectives: GPU Implementation of the Quantum Espresso package, porting the diagonalisation libraries to GPU, investigation of new diagonalisation methods