Performance and Power Optimization of GPU Architectures for General-purpose Computing