change cpu sum red to implementation with temp variable, can be more accurate in sum