def runTiming(arguments):
    execData = {'blocks':arguments.blocksL,
                'threads':arguments.threadsL}

    print("Doing timing run, execData: "+str(execData)[0:64])+'...'
    fractal_data.init()
    for mode in arguments.modesL:
        print "Mode "+str(mode)+":"
        index=None
        try:
            index = fractal_data.cudaCollect(arguments.pos,arguments.zoom,arguments.dim,execData,mode=mode)
        except Exception, e:
            print e
            raise
        
        if arguments.show and index:
            data = fractal_data.extractCols(index)
            plot_data.makePlot(data,"results/", ylog=True, show=True, save=False)
    makePlot(data,"results/",xlog=arguments.xlog, ylog=arguments.ylog, ovlog=arguments.ovlog,
             show=arguments.show, save=arguments.save, xaxis=xaxisD[arguments.xaxis])
     
if __name__ == '__main__':
    from argparse import ArgumentParser

    from fractal_data import NoSuchNodeError, extractMetaData, extractCols, init

    # example: python -O plot_data.py  --save &/| --store [OPTIONS]

    parser = ArgumentParser(description="Plot stored results for fractal simulations")

    parser.add_argument("--xaxis",  action="store",       dest="xaxis", default="cores", help="Choose X axis: cores (default), tpc (threads_per_core), threads (total_threads), ppt (px_per_thread)")
    parser.add_argument("--ylog",   action="store_true",  dest="ylog",  default=True,    help="use Log10 y (default)")
    parser.add_argument("--noylog", action="store_false", dest="ylog",                   help="do not use log10 y")
    parser.add_argument("--xlog",   action="store_true",  dest="xlog",  default=True,    help="use Log10 x (default)")
    parser.add_argument("--noxlog", action="store_false", dest="xlog",                   help="do not use log10 x")
    parser.add_argument("--ovlog",  action="store_true",  dest="ovlog", default=False,   help="use Log10 overlap")
    
    parser.add_argument("--datasrc",action="store",       dest="h5file",default="fractalData.h5",   help="hdf5 data file")
        
    parser.add_argument("--show",   action="store_true",  dest="show",  default=False,   help="Display plot if DISPLAY is set")
    parser.add_argument("--save",   action="store_true",  dest="save",  default=False,   help="Store plot as PNG")
    parser.add_argument("--index",  action="store",       dest="index", default=None,    help="Data set identifier (index); if none, you will be prompted with a list of existing data")

    args = parser.parse_args()

    init(filename=args.h5file)
    _graph(args)