  The GW approximation of many-body perturbation theory is an accurate method
for computing electron addition and removal energies of molecules and solids.
In a canonical implementation, however, its computational cost is $O(N^4)$ in
the system size N, which prohibits its application to many systems of interest.
We present a full-frequency GW algorithm in a Gaussian type basis, whose
computational cost scales with $N^2$ to $N^3$. The implementation is optimized
for massively parallel execution on state-of-the-art supercomputers and is
suitable for nanostructures and molecules in the gas, liquid or condensed
phase, using either pseudopotentials or all electrons. We validate the accuracy
of the algorithm on the GW100 molecular test set, finding mean absolute
deviations of 35 meV for ionization potentials and 27 meV for electron
affinities. Furthermore, we study the length-dependence of quasiparticle
energies in armchair graphene nanoribbons of up to 1734 atoms in size, and
compute the local density of states across a nanoscale heterojunction.
