Nature Language: allocateReduceData:Allocate memory for the main data arrays in the reduction operation.
  
CPP: int allocateReduceData(int bufferSize){\n    localReduceBuf = (int *) malloc(bufferSize * sizeof(int));\n    globalReduceBuf = (int *) malloc(bufferSize * sizeof(int));\n    tempBuf = (int *) malloc((bufferSize * numThreads) * sizeof(int));\n    finalReduceBuf = (int *) malloc((bufferSize * numThreads) * sizeof(int));\n\n    return 0;\n}",
  
Fortran: SUBROUTINE allocateData(bufferSize)\ninteger, intent(in) :: bufferSize\n\nallocate(globalReduceBuf(bufferSize))\n!Final reduce is of size dataSizenumThreads\nallocate(finalReduceBuf(bufferSizenumThreads))\n\nEND SUBROUTINE allocateData
  