Tuning Principal Component Analysis for GRASS GIS on Multi-core and GPU Architectures