Energy-efficient GPGPU architectures via collaborative compilation and memristive memory-based computing