Although parallel reduction enjoys a native support by OpenMP, it does not support using parallel reduction and atomic reduction simulteneously. Therefore, we need to make some transformations