Exemple #1
0
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
Exemple #2
0
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')