Nature Language: findNeighbourRanks:This creates a cartesian topology and finds the left and right neighbours of each process.
  
CPP: int findNeighbours(){\n\tint dims[1];\n\tint periods[1];\n\tint reorder;\n\n\tdims[0] = 0;\n\tMPI_Dims_create(numMPIprocs, 1, dims);\n\n\tperiods[0] = TRUE;\n\treorder = FALSE;\n\n\tMPI_Cart_create(comm, 1, dims, periods, reorder, &commCart);\n\n\tMPI_Cart_shift(commCart, 0, 1, &leftNeighbour, &rightNeighbour);\n\n\treturn 0;\n}
  
Fortran: FUNCTION benchmarkSupport(required)\n integer, intent(in) :: required\n logical :: benchmarkSupport\n\n IF (required <= threadSupport) THEN\n benchmarkSupport = .true.\n ELSE\n benchmarkSupport = .false.\n END IF\n\n END FUNCTION benchmarkSupport
  