Smartapps, an application centric approach to high performance computing: compiler-assisted software and hardware support for reduction operations | IEEE Conference Publication | IEEE Xplore