Hardware error detection in multicore parallel programs