Ejemplo n.º 1
0
def main():
  file15 = "HommeTime.1"
  file16 = "HommeTime.2"

  fifteenRanks = cpt.cesmTimeParser()
  sixteenRanks = cpt.cesmTimeParser()
  fifteenRanks.parseFile(file15)
  sixteenRanks.parseFile(file16)

  wallMax15 = fifteenRanks.getDataCol("wallmax")
  wallMax16 = sixteenRanks.getDataCol("wallmax")
  subNames = fifteenRanks.getRoutineNames()

#  fifteenRanks.printRunInfo()

  for i in range(len(wallMax15)):
    print " HommeTime.1", subNames[i], "took", wallMax15[i], "s"

  primRunList=[]
  for i in range(1,3):
    print i 
    parser=cpt.cesmTimeParser()
    parser.parseFile("HommeTime." + str(i))
    primRunList.append(parser.getDataEntry("prim_run","wallmax"))
    
  primRunArray=np.array(primRunList)
  print "avg = ", np.average(primRunArray)
  print "std = ", np.std(primRunArray)
Ejemplo n.º 2
0
def calcAvg(theDir,groupTime): #which thing to average and get std
  primRunList=[]
  numList=[]
  flist=os.listdir(".")
  for fileName in flist:
    if ("HommeTime." in fileName):
      suffix=fileName.split(".")[1]
      if (suffix.isdigit()):
        numList.append(int(suffix))
  for i in numList:
    print i 
    parser=cpt.cesmTimeParser()
    try:
      parser.parseFile("HommeTime." + str(i))
    except:
      print "Error: There seems to be no HommeTime.<number> files."
      sys.exit(1)
    try:
      primRunList.append(parser.getDataEntry(groupTime,"wallmax"))
    except:
      print "Error: The " + groupTime + " seems not to be in the HommeTime files."
      sys.exit(1)
  
  num= len(numList) 
  array=np.array(primRunList)
  avg =  np.average(array)
  std = np.std(array)  
  print "avg = ", avg
  print "std = ", std 
  print " % = ", std/avg * 100
  print "number of members = ", num

  return avg,std,array,num
Ejemplo n.º 3
0
def main():
  file15 = "ccsm_timing_stats-stampede-15x2x8.13.gz"
  file16 = "ccsm_timing_stats-stampede-16x2x8.13.gz"

  fifteenRanks = cpt.cesmTimeParser()
  sixteenRanks = cpt.cesmTimeParser()
  fifteenRanks.parseFile(file15)
  sixteenRanks.parseFile(file16)

  wallMax15 = fifteenRanks.getDataCol("wallmax")
  wallMax16 = sixteenRanks.getDataCol("wallmax")
  subNames = fifteenRanks.getRoutineNames()

#  fifteenRanks.printRunInfo()

  for i in range(len(wallMax15)):
    print "15 Rank per node Routine", subNames[i], "took", wallMax15[i], "s"

  print "Wallmax ratio [15mpiranks/16mpiranks] time for DRIVER_INIT=", (fifteenRanks.getDataEntry("DRIVER_INIT","wallmax")/sixteenRanks.getDataEntry("DRIVER_INIT","wallmax"))
  print "Wallmax ratio [15mpiranks/16mpiranks] time for DRIVER_RUN_LOOP=", (fifteenRanks.getDataEntry("DRIVER_RUN_LOOP","wallmax")/sixteenRanks.getDataEntry("DRIVER_RUN_LOOP","wallmax"))
Ejemplo n.º 4
0
def main():
  primRunList=[]
  numList=[]
  flist=os.listdir(".")
  for fileName in flist:
    if ("HommeTime" in fileName):
      suffix=fileName.split(".")[1]
      if (suffix.isdigit()):
        numList.append(int(suffix))
  #for i in range(1,101):
  for i in numList:
    print i 
    parser=cpt.cesmTimeParser()
    parser.parseFile("HommeTime." + str(i))
    primRunList.append(parser.getDataEntry("prim_run","wallmax"))
    
  print "number of members = ", len(numList)
  primRunArray=np.array(primRunList)
  print "avg = ", np.average(primRunArray)
  print "std = ", np.std(primRunArray)