def getMetaData(explist): # Get DataFrame of All Experiments df_All = analysis.getAllExperiments() # Get Cori Runs df_Cori = df_All.loc[df_All['Experiment'].isin(explist)] # Create Meta DataFrame df_Cori_Meta = pd.DataFrame( columns=['Workload', 'Ranks', 'Stencil', 'Runtime']) # Loops Over All Cori Runs for df in [df_Cori]: for run in range(0, len(df)): currentRun = df.iloc[run] eid = currentRun['Experiment'] workload = currentRun['workload'] ranks = currentRun['processors'] stencil = currentRun['stencil_size'] rab_work = currentRun['rabbit_workload'] rid = currentRun['expid'] currentPath = './mlruns/' + str(eid) + '/' + str( rid) + '/artifacts/bsp-trace.json' # Print Progress print(eid, currentPath) # Check that Rabbit is Off if (rab_work == 0): # Get Data currentData = analysis.getData(currentPath) currentData = currentData[currentData['rank'] == 0] # Calculate Total Runtime currentRunTime = currentData['interval_max_usec'].sum( ) / 1000000 # Add to Metadata df_Cori_Meta.loc[len(df_Cori_Meta)] = [ workload, int(ranks), int(stencil), currentRunTime ] return df_Cori_Meta
def main(): expRange = list( range( 235, 330 ) ) + list( range( 450, 550 ) ) #writeMetaData( 'Results/AttawayData.csv', list( expRange ) ) #writeNormalizedMetaData( 'Results/AttawayData.csv', 'Results/AttawayNormalized.csv' ) #generateRuntimeFigure( 'Results/AttawayData.csv', 'Figures/AttawayRuntime.png' ) workloads = ['lammps'] #workloads = ['sleep', 'fwq', 'dgemm', 'spmv', 'hpcg', 'lammps'] df_All = analysis.getAllExperiments() df_All = df_All.loc[ df_All[ 'Experiment' ].isin( expRange ) ] CI = 0.90 baseRanks = 256 for workload in workloads: generatePredictionFigure( df_All, workload, baseRanks, CI, 'Results/AttawayData.csv' )
# save data into a npy np.save(fname, data) return data workloads = ['lammps'] #workloads=['sleep','fwq','dgemm','spmv','lammps','hpcg'] _FACTOR = 1000000 _ALPHA = 0.05 p = ((1.0 - (_ALPHA / 2.0)) * 100) workload = workloads[0] platform = 'Attaway' df_All = analysis.getAllExperiments() if platform == 'Cori': coriRange = list(range(85, 235)) + list(range(330, 450)) df_platform = df_All.loc[df_All['Experiment'].isin(coriRange)] df_runtimes = pd.read_csv( 'Results/CoriData.csv', usecols=['Workload', 'Ranks', 'Stencil', 'Runtime']) elif platform == 'Attaway': attawayRange = list(range(235, 330)) + list(range(450, 550)) df_platform = df_All.loc[df_All['Experiment'].isin(attawayRange)] df_runtimes = pd.read_csv( 'Results/AttawayData.csv', usecols=['Workload', 'Ranks', 'Stencil', 'Runtime']) else: print('Error, unknown platform')