diff --git a/.gitignore b/.gitignore
index 3c42450..a8120f4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,10 +9,12 @@
*.cmake
*.pyc
*.asv
+*.DS_Store
bin/
cubin/
/misc/
.vscode/
+.idea/
temp*
*.pdf
src/*/trslt/*.json
diff --git a/results/Affinity/AffinityRun.py b/results/Affinity/AffinityRun.py
index 4b23308..604233b 100644
--- a/results/Affinity/AffinityRun.py
+++ b/results/Affinity/AffinityRun.py
@@ -1,14 +1,19 @@
+'''
+ Get Loads of Results from Affinity Run
+'''
+
import os
import os.path as op
import sys
import pandas as pd
import numpy as np
+import statsmodels.api as sm
-thispath = op.abspath(op.dirname(__file__))
-resultpath = op.dirname(thispath)
+affpath = op.abspath(op.dirname(__file__))
+resultpath = op.dirname(affpath)
toppath = op.dirname(resultpath)
pypath = op.join(toppath, "runtools")
-datapath = op.join(thispath, "rslts")
+datapath = op.join(affpath, "rslts")
sys.path.append(pypath)
@@ -16,33 +21,273 @@
import timing_analysis as ta
import timing_help as th
-timeFrame = readPath(datapath)
-coll = dict()
-annodict = {}
-pltpth = op.join(op.dirname(datapath), "AffinityPlots")
+import matplotlib.colors as mc
+
+#SET THIS TO SAVE OR SHOW FIGS
+savFig=False
+
+hxMap=mc.ListedColormap(th.hxColors)
+
+kodiakX=[int(k) for k in [5e6, 2e7, 4e7, 6e7]]
+
+nTime = lambda df, x, y, z: df[x]*df[y]/df[z]
-#idx = pd.MultiIndex(levels=[[],[]], labels=[[],[]], names=["Types", "Metric"])
-bestCollect = pd.DataFrame(columns=list(timeFrame.keys()))
-for kType, iFrame in timeFrame.items():
- thisdf = ta.RawInterp(iFrame, kType)
+nPerf = "normTime"
+
+ylbl = "time per timestep (us)"
+
+ffs=np.format_float_scientific
+
+def normalizeGroups(dfi):
+ dft=dfi.copy()
+ dft["grp"] = None
+ for kx in kodiakX:
+ dft.loc[(dfi["nX"] < kx+1e7) & (dfi["nX"] > kx-1e7), "grp"] = kx
- keepdf = thisdf.interpit()
- dfT, figt, axT = ta.contourRaw(keepdf, kType, getfig=True)
- mnT = ta.plotmins(dfT, axT)
- figt = th.formatSubplot(figt)
+ dft[nPerf] = nTime(dft, "time", "grp", "nX")
+ return dft
+
+def summaryIndiv(dfi):
+ if nPerf not in dfi.columns:
+ dfi = normalizeGroups(dfi)
+
+ dfout=pd.DataFrame(columns=["NoGpu","Gpu"], index=dfi["grp"].unique())
- keepEfficiency = thisdf.efficient(keepdf)
- _, fige, _ = ta.contourRaw(keepEfficiency, kType, vals="efficiency", getfig=True)
- fige = th.formatSubplot(fige)
+ for k, i in dfi.groupby("grp"):
+ dfout.loc[k, "NoGpu"] = i.loc[i["gpuA"] < 2, nPerf].min()
+ dfout.loc[k, "Gpu"] = i.loc[i["gpuA"] > 2, nPerf].min()
- bestCollect[kType] = mnT
+ dfout["Speedup"] = dfout["NoGpu"]/dfout["Gpu"]
+ return dfout
+
+def summarizeGPU(ddf, fcollect):
+ dflist=[]
+ for kdf, dfi in ddf.items():
+ dfs = fcollect(dfi)
+ dfs.columns = pd.MultiIndex.from_product([[kdf], dfs.columns])
+ dflist.append(dfs)
+
+ dfout = pd.concat(dflist, axis=1)
+ return dfout
+
+def headToCol(dfa):
+ nms=["idx", "case"]
+ d=dfa.stack(0)
+ d.index.names=nms
+ di=d.reset_index(level=nms[1])
+ return di
+
+def getTpbCount(dfa, typ):
+ cases= ["gpuA", "grp", "case"]
+ dff = headToCol(dfa)
+ dff.drop(["nX", "time"], axis=1, inplace=True)
+ dff.reset_index(drop=True,inplace=True)
+ kidx = dff.groupby(cases)['normTime'].idxmin()
+ dffin=dff.loc[kidx]
+ return dffin.groupby(typ)["tpb"].value_counts().to_frame().unstack(0)["tpb"].fillna(0).astype(int)
+
+
+def squaredf(df, cols, deg=2):
+ dfc=df.copy()
+ for c in cols:
+ for k in range(2,deg+1):
+ nc=c+str(k)
+ dfc[nc]=df[c]**k
+
+ return dfc
+
+def summarizeTPBAFF(ddf, deg=1, inter=False, xcoli=["tpb", "gpuA"]):
+ idx = pd.MultiIndex.from_product([list(ddf.keys()), kodiakX])
- plotname = op.join(pltpth, "RawContour" + kType + "Time" + ".pdf")
- figt.savefig(plotname, bbox_inches='tight')
- plotname = op.join(pltpth, "RawContour" + kType + "Efficiency" + ".pdf")
- fige.savefig(plotname, bbox_inches='tight')
+ if inter: xcoli=xcoli + ["tpb-gpuA"]
+
+ xcol=xcoli+[x+str(k) for x in xcoli for k in range(2,deg+1)]
- # plt.show()
+ dfmod = pd.DataFrame(index=idx, columns=xcol + ["const", "rsq", "rsqa"], dtype=float)
+ modcoll={}
+ for kdf, dfi in ddf.items():
+ if inter:
+ dfi["tpb-gpuA"] = dfi["tpb"]*dfi["gpuA"]
+ for kx, dx in dfi.groupby("grp"):
+
+ X = squaredf(dx[xcoli], xcoli, deg)
+
+ X = sm.add_constant(X)
+ mod=sm.OLS(dx[nPerf], X)
+ res=mod.fit()
+ modcoll[(kdf, kx)] = res
+ rser=pd.Series({"rsq": res.rsquared, "rsqa": res.rsquared_adj})
+ dfmod.loc[kdf,kx] = res.params.append(rser)
+ return dfmod, modcoll
+
+def pmods(mods, f=print):
+ pr=True
+ kold=list(mods.keys())[0][0]
+ for k, m in mods.items():
+ if pr: f("## " + k[0] + "\n\n")
+ pr=False
+ f("#### " + str(k[1]) + "\n\n")
+ f(str(m.summary()) + "\n\n")
+ if not k[0] == kold:
+ pr=True
+ kold=k[0]
+
+def plotmdl(df, ti, axi, yf, nf):
+ xv = np.arange(0,nf)
+ yfx=lambda df: yf(df, xv)
+ yv = df.apply(yfx, axis=1).apply(pd.Series).T
+
+ yv["GPU Affinity"] = xv
+ yv.set_index("GPU Affinity", inplace=True)
+ yv.plot(ax=axi, title=ti, markersize=0, cmap=hxMap)
+ if axi.colNum == 0:
+ axi.set_ylabel(ylbl)
+ if axi.rowNum == 0:
+ axi.set_xlabel("")
+
+ axi.set_xlim([-10,210])
+ handles, labels = axi.get_legend_handles_labels()
+ labels=[ffs(int(k), trim="-", exp_digits=1) for k in labels]
+ axi.legend(handles, labels, title="Grid Size")
+ return yv
+
+
+if __name__ == "__main__":
+
+ pltpth = op.join(affpath, "AffinityPlots")
+ dpath = datapath
+ if len(sys.argv) == 2:
+ dpath = op.join(datapath, sys.argv[1])
+ pltpth = op.join(op.join(affpath, "AffinityPlots"), sys.argv[1])
+
+ os.makedirs(pltpth, exist_ok=True)
+ timeFrame = readPath(dpath)
+ coll = dict()
+ annodict = {}
+
+ bestCollect = pd.DataFrame(columns=list(timeFrame.keys()))
+ for kType, iFrame in timeFrame.items():
+ thisdf = ta.RawInterp(iFrame, kType)
+
+ keepdf = thisdf.interpit()
+ figt, mnT = ta.contourRaw(keepdf, kType, getfig=True)
+
+ keepEfficiency = thisdf.efficient(keepdf)
+ fige, _ = ta.contourRaw(keepEfficiency, kType, vals="efficiency", getfig=True, minmax="max")
+
+ bestCollect[kType] = mnT
+ fige.suptitle(kType+" Efficiency")
+ figt.suptitle(kType+" Timing")
+ plotname = op.join(pltpth, "RawContour" + kType + "Time" + ".pdf")
+ plotnameeff = op.join(pltpth, "RawContour" + kType + "Efficiency" + ".pdf")
+ if savFig:
+ figt.savefig(plotname, bbox_inches='tight')
+ fige.savefig(plotnameeff, bbox_inches='tight')
+
+ coll[kType] = normalizeGroups(iFrame)
+
+
+ dfo = summarizeGPU(coll, summaryIndiv)
+ dfall = summarizeGPU(coll, lambda x: x.copy())
+ dfm, mods = summarizeTPBAFF(coll, 2, xcoli=["gpuA"])
+ ctpbCase = getTpbCount(dfall, "case")
+ ctpbSize = getTpbCount(dfall, "grp")
+ ctpbGpua = getTpbCount(dfall, "gpuA")
+ ctpbGpua.columns = [int(k) for k in ctpbGpua.columns]
+
+ #Paths to writeout
+ sgpuPath = op.join(dpath, "summaryGPU.csv")
+ fullModels = op.join(dpath, "GpuAvsGridDimModels.md")
+ koplot = op.join(dpath, "GPUA_model.pdf")
+ kompplot = op.join(dpath, "MethodCompare.pdf")
+ speedout = op.join(dpath, "SweepSpeedup.csv")
+ scaleout = op.join(dpath, "SweepScale.csv")
+ Barout2 = op.join(dpath, "BestTpbs-nx_problem.pdf")
+ Barout1 = op.join(dpath, "BestTpbs-gpuA.pdf")
+
+ doff = lambda dfun, x: x**2*dfun["gpuA2"] + x*dfun["gpuA"] + dfun["const"]
+
+ f, ax = plt.subplots(2,2, figsize=(12,10))
+ f.suptitle("Kodiak hSweep Affinity Test")
+ axx = ax.ravel()
+ for a, k in zip(axx, coll.keys()):
+ df=coll[k]
+ ncolor=len(df["grp"].unique())
+ df.plot.scatter(x="gpuA", y=nPerf, c="grp", cmap=hxMap,
+ colorbar=False, legend=False, ax=a)
+ a.set_xlabel("")
+ a.set_ylabel("")
+
+ for a, k in zip(axx, dfm.index.get_level_values(level=0).unique()):
+ plotmdl(dfm.loc[k], k, a, doff, 200)
+
+
+ sweeps=[f for f in dfo.columns.get_level_values(0).unique() if "Swept" in f]
+ dfc = pd.DataFrame()
+ dx="Gpu"
+ fgn, ax = plt.subplots(1,2, figsize=(12,5))
+ axx=ax.ravel()
+ dfmove=[]
+ dft=[]
+ for s, a in zip(sweeps, axx):
+ c=s.replace("Swept","Classic")
+ dfc[s]=dfo[c][dx]/dfo[s][dx]
+ dfxx=dfo.loc[:,([s,c], dx)]
+ dfxx.columns=dfxx.columns.droplevel(1)
+ dfxx.index.names=["Grid Size"]
+ ty=s.replace("Swept","")
+ dfxx.columns = [d.replace(ty, "") for d in dfxx.columns]
+ dfxx.plot(ax=a, title=ty)
+ if a.colNum == 0:
+ a.set_ylabel(ylbl)
+ else:
+ a.get_legend().remove()
+
+ acc=a.get_xlim()
+ fac=acc[0]*.5
+ a.set_xlim([acc[0]-fac, acc[1]+fac])
+ dfxx.reset_index(inplace=True)
+ changemat=dfxx.iloc[1:,].values/dfxx.iloc[:-1,].values
+ dfxlo=pd.DataFrame(data=changemat, columns=dfxx.columns)
+ dfxlo.columns=["Delta-GridSize"] + list(dfxlo.columns[1:].values)
+ dfxlo.set_index("Delta-GridSize", inplace=True)
+ dfmove.append(dfxlo)
+ dft.append(ty)
+
+ dfscale=pd.concat(dfmove, axis=1, keys=dft)
+ fog, ax = plt.subplots(1, 2, sharey=True, figsize=(12,5))
+ fga, ag = plt.subplots(1, 1, figsize=(6,5))
+ fog.suptitle("Frequency of best tpb")
+ fga.suptitle("Frequency of best tpb by gpuA")
+ axx=ax.ravel()
+ topct = lambda df: df/df.sum()*100.0
+ cs = topct(ctpbSize).T
+ cg = topct(ctpbGpua).T
+ cc = topct(ctpbCase).T
+ #And there is still some axis, saving, formatting to go.
+ ctpbSize.columns = [ffs(int(k), trim="-", exp_digits=1) for k in ctpbSize.columns]
+ for a, c in zip(axx, (ctpbCase, ctpbSize)):
+ c.plot.bar(ax=a)
+ a.legend().set_title("")
+ if not a.colNum:
+ a.set_ylabel("Frequency of Best Outcome (%)")
+
+ ctpbGpua.plot.bar(ax=ag)
+ ag.set_ylabel("Frequency of Best Outcome (%)")
+ fog.savefig(Barout2, bbox_inches='tight')
+ fga.savefig(Barout1, bbox_inches='tight')
+
+ if savFig:
+ dfscale.to_csv(scaleout)
+ dfc.to_csv(speedout)
+ dfout.to_csv(sgpuPath)
+ f.savefig(koplot, bbox_inches='tight')
+ fgn.savefig(kompplot, bbox_inches='tight')
+ with open(fullModels, "w") as fm:
+ pmods(mods, fm.write)
+ else:
+ plt.show()
+
diff --git a/results/Affinity/rslts/kodiak/GpuAvsGridDimModels.md b/results/Affinity/rslts/kodiak/GpuAvsGridDimModels.md
new file mode 100644
index 0000000..0383602
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/GpuAvsGridDimModels.md
@@ -0,0 +1,504 @@
+## EulerClassic
+
+#### 5000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.707
+Model: OLS Adj. R-squared: 0.698
+Method: Least Squares F-statistic: 76.12
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 1.56e-17
+Time: 16:15:29 Log-Likelihood: -582.18
+No. Observations: 66 AIC: 1170.
+Df Residuals: 63 BIC: 1177.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 7952.9422 521.847 15.240 0.000 6910.114 8995.771
+gpuA -127.0059 12.140 -10.462 0.000 -151.265 -102.747
+gpuA2 0.4862 0.058 8.317 0.000 0.369 0.603
+==============================================================================
+Omnibus: 1.245 Durbin-Watson: 2.148
+Prob(Omnibus): 0.537 Jarque-Bera (JB): 0.922
+Skew: 0.289 Prob(JB): 0.631
+Kurtosis: 3.025 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 20000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.751
+Model: OLS Adj. R-squared: 0.743
+Method: Least Squares F-statistic: 95.11
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 9.32e-20
+Time: 16:15:29 Log-Likelihood: -673.32
+No. Observations: 66 AIC: 1353.
+Df Residuals: 63 BIC: 1359.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 3.488e+04 2076.056 16.802 0.000 3.07e+04 3.9e+04
+gpuA -561.9062 48.295 -11.635 0.000 -658.416 -465.396
+gpuA2 2.1429 0.233 9.214 0.000 1.678 2.608
+==============================================================================
+Omnibus: 1.361 Durbin-Watson: 2.012
+Prob(Omnibus): 0.506 Jarque-Bera (JB): 1.395
+Skew: 0.314 Prob(JB): 0.498
+Kurtosis: 2.664 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 40000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.779
+Model: OLS Adj. R-squared: 0.772
+Method: Least Squares F-statistic: 110.9
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 2.30e-21
+Time: 16:15:29 Log-Likelihood: -714.64
+No. Observations: 66 AIC: 1435.
+Df Residuals: 63 BIC: 1442.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 7.082e+04 3883.070 18.238 0.000 6.31e+04 7.86e+04
+gpuA -1114.4382 90.332 -12.337 0.000 -1294.952 -933.925
+gpuA2 4.1929 0.435 9.639 0.000 3.324 5.062
+==============================================================================
+Omnibus: 1.255 Durbin-Watson: 2.114
+Prob(Omnibus): 0.534 Jarque-Bera (JB): 1.174
+Skew: 0.315 Prob(JB): 0.556
+Kurtosis: 2.825 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 60000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.775
+Model: OLS Adj. R-squared: 0.768
+Method: Least Squares F-statistic: 108.3
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 4.09e-21
+Time: 16:15:29 Log-Likelihood: -741.02
+No. Observations: 66 AIC: 1488.
+Df Residuals: 63 BIC: 1495.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 1.051e+05 5790.674 18.158 0.000 9.36e+04 1.17e+05
+gpuA -1623.3813 134.708 -12.051 0.000 -1892.574 -1354.189
+gpuA2 6.0550 0.649 9.334 0.000 4.759 7.351
+==============================================================================
+Omnibus: 1.193 Durbin-Watson: 2.101
+Prob(Omnibus): 0.551 Jarque-Bera (JB): 1.039
+Skew: 0.303 Prob(JB): 0.595
+Kurtosis: 2.894 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 5000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.759
+Model: OLS Adj. R-squared: 0.751
+Method: Least Squares F-statistic: 99.18
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 3.44e-20
+Time: 16:15:29 Log-Likelihood: -555.02
+No. Observations: 66 AIC: 1116.
+Df Residuals: 63 BIC: 1123.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 6077.8579 345.765 17.578 0.000 5386.901 6768.815
+gpuA -92.3894 8.044 -11.486 0.000 -108.463 -76.316
+gpuA2 0.3436 0.039 8.871 0.000 0.266 0.421
+==============================================================================
+Omnibus: 1.154 Durbin-Watson: 2.083
+Prob(Omnibus): 0.562 Jarque-Bera (JB): 1.091
+Skew: 0.301 Prob(JB): 0.580
+Kurtosis: 2.818 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+## EulerSwept
+
+#### 20000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.766
+Model: OLS Adj. R-squared: 0.759
+Method: Least Squares F-statistic: 103.3
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 1.28e-20
+Time: 16:15:29 Log-Likelihood: -645.80
+No. Observations: 66 AIC: 1298.
+Df Residuals: 63 BIC: 1304.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 2.433e+04 1368.335 17.777 0.000 2.16e+04 2.71e+04
+gpuA -373.0640 31.831 -11.720 0.000 -436.674 -309.454
+gpuA2 1.3870 0.153 9.048 0.000 1.081 1.693
+==============================================================================
+Omnibus: 1.159 Durbin-Watson: 2.078
+Prob(Omnibus): 0.560 Jarque-Bera (JB): 1.094
+Skew: 0.302 Prob(JB): 0.579
+Kurtosis: 2.819 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 40000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.765
+Model: OLS Adj. R-squared: 0.758
+Method: Least Squares F-statistic: 102.5
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 1.54e-20
+Time: 16:15:29 Log-Likelihood: -691.96
+No. Observations: 66 AIC: 1390.
+Df Residuals: 63 BIC: 1396.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 4.871e+04 2753.554 17.692 0.000 4.32e+04 5.42e+04
+gpuA -747.6937 64.056 -11.673 0.000 -875.699 -619.688
+gpuA2 2.7795 0.308 9.010 0.000 2.163 3.396
+==============================================================================
+Omnibus: 1.154 Durbin-Watson: 2.080
+Prob(Omnibus): 0.562 Jarque-Bera (JB): 1.088
+Skew: 0.301 Prob(JB): 0.581
+Kurtosis: 2.821 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 60000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.765
+Model: OLS Adj. R-squared: 0.758
+Method: Least Squares F-statistic: 102.7
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 1.50e-20
+Time: 16:15:29 Log-Likelihood: -718.47
+No. Observations: 66 AIC: 1443.
+Df Residuals: 63 BIC: 1450.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 7.287e+04 4114.999 17.709 0.000 6.46e+04 8.11e+04
+gpuA -1117.1600 95.727 -11.670 0.000 -1308.455 -925.865
+gpuA2 4.1507 0.461 9.004 0.000 3.229 5.072
+==============================================================================
+Omnibus: 1.124 Durbin-Watson: 2.093
+Prob(Omnibus): 0.570 Jarque-Bera (JB): 1.058
+Skew: 0.297 Prob(JB): 0.589
+Kurtosis: 2.824 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 5000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.538
+Model: OLS Adj. R-squared: 0.523
+Method: Least Squares F-statistic: 36.62
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 2.81e-11
+Time: 16:15:29 Log-Likelihood: -294.31
+No. Observations: 66 AIC: 594.6
+Df Residuals: 63 BIC: 601.2
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 161.0722 6.657 24.196 0.000 147.769 174.375
+gpuA -1.2097 0.155 -7.811 0.000 -1.519 -0.900
+gpuA2 0.0049 0.001 6.583 0.000 0.003 0.006
+==============================================================================
+Omnibus: 0.776 Durbin-Watson: 2.090
+Prob(Omnibus): 0.679 Jarque-Bera (JB): 0.652
+Skew: 0.239 Prob(JB): 0.722
+Kurtosis: 2.908 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+## HeatClassic
+
+#### 20000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.532
+Model: OLS Adj. R-squared: 0.517
+Method: Least Squares F-statistic: 35.76
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 4.20e-11
+Time: 16:15:29 Log-Likelihood: -549.97
+No. Observations: 66 AIC: 1106.
+Df Residuals: 63 BIC: 1112.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 3260.6917 320.296 10.180 0.000 2620.632 3900.752
+gpuA -56.2114 7.451 -7.544 0.000 -71.101 -41.322
+gpuA2 0.2238 0.036 6.238 0.000 0.152 0.296
+==============================================================================
+Omnibus: 1.209 Durbin-Watson: 2.288
+Prob(Omnibus): 0.546 Jarque-Bera (JB): 0.593
+Skew: 0.147 Prob(JB): 0.744
+Kurtosis: 3.359 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 40000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.571
+Model: OLS Adj. R-squared: 0.558
+Method: Least Squares F-statistic: 41.98
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 2.58e-12
+Time: 16:15:29 Log-Likelihood: -594.58
+No. Observations: 66 AIC: 1195.
+Df Residuals: 63 BIC: 1202.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 6900.2780 629.652 10.959 0.000 5642.020 8158.536
+gpuA -119.0618 14.648 -8.128 0.000 -148.333 -89.791
+gpuA2 0.4720 0.071 6.691 0.000 0.331 0.613
+==============================================================================
+Omnibus: 1.020 Durbin-Watson: 2.214
+Prob(Omnibus): 0.600 Jarque-Bera (JB): 0.578
+Skew: 0.216 Prob(JB): 0.749
+Kurtosis: 3.155 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 60000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.701
+Model: OLS Adj. R-squared: 0.692
+Method: Least Squares F-statistic: 73.92
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 2.98e-17
+Time: 16:15:29 Log-Likelihood: -609.74
+No. Observations: 66 AIC: 1225.
+Df Residuals: 63 BIC: 1232.
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 1.152e+04 792.302 14.540 0.000 9937.038 1.31e+04
+gpuA -194.9280 18.431 -10.576 0.000 -231.760 -158.096
+gpuA2 0.7609 0.089 8.572 0.000 0.584 0.938
+==============================================================================
+Omnibus: 0.844 Durbin-Watson: 1.834
+Prob(Omnibus): 0.656 Jarque-Bera (JB): 0.944
+Skew: 0.204 Prob(JB): 0.624
+Kurtosis: 2.579 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 5000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.732
+Model: OLS Adj. R-squared: 0.724
+Method: Least Squares F-statistic: 86.23
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 9.20e-19
+Time: 16:15:29 Log-Likelihood: -293.50
+No. Observations: 66 AIC: 593.0
+Df Residuals: 63 BIC: 599.6
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 111.8979 6.576 17.017 0.000 98.758 125.038
+gpuA -1.6946 0.153 -11.078 0.000 -2.000 -1.389
+gpuA2 0.0065 0.001 8.773 0.000 0.005 0.008
+==============================================================================
+Omnibus: 11.804 Durbin-Watson: 1.819
+Prob(Omnibus): 0.003 Jarque-Bera (JB): 15.007
+Skew: 0.728 Prob(JB): 0.000551
+Kurtosis: 4.827 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+## HeatSwept
+
+#### 20000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.733
+Model: OLS Adj. R-squared: 0.725
+Method: Least Squares F-statistic: 86.55
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 8.46e-19
+Time: 16:15:29 Log-Likelihood: -385.08
+No. Observations: 66 AIC: 776.2
+Df Residuals: 63 BIC: 782.7
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 443.8657 26.336 16.854 0.000 391.237 496.494
+gpuA -6.7916 0.613 -11.086 0.000 -8.016 -5.567
+gpuA2 0.0259 0.003 8.771 0.000 0.020 0.032
+==============================================================================
+Omnibus: 10.421 Durbin-Watson: 1.856
+Prob(Omnibus): 0.005 Jarque-Bera (JB): 12.171
+Skew: 0.686 Prob(JB): 0.00228
+Kurtosis: 4.595 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 40000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.735
+Model: OLS Adj. R-squared: 0.727
+Method: Least Squares F-statistic: 87.34
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 6.85e-19
+Time: 16:15:29 Log-Likelihood: -430.54
+No. Observations: 66 AIC: 867.1
+Df Residuals: 63 BIC: 873.7
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 886.2461 52.446 16.898 0.000 781.441 991.052
+gpuA -13.5915 1.220 -11.140 0.000 -16.030 -11.153
+gpuA2 0.0518 0.006 8.816 0.000 0.040 0.064
+==============================================================================
+Omnibus: 9.959 Durbin-Watson: 1.863
+Prob(Omnibus): 0.007 Jarque-Bera (JB): 11.251
+Skew: 0.675 Prob(JB): 0.00360
+Kurtosis: 4.507 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
+#### 60000000
+
+ OLS Regression Results
+==============================================================================
+Dep. Variable: normTime R-squared: 0.736
+Model: OLS Adj. R-squared: 0.728
+Method: Least Squares F-statistic: 88.03
+Date: Fri, 01 Mar 2019 Prob (F-statistic): 5.71e-19
+Time: 16:15:29 Log-Likelihood: -457.11
+No. Observations: 66 AIC: 920.2
+Df Residuals: 63 BIC: 926.8
+Df Model: 2
+Covariance Type: nonrobust
+==============================================================================
+ coef std err t P>|t| [0.025 0.975]
+------------------------------------------------------------------------------
+const 1329.8297 78.440 16.953 0.000 1173.080 1486.579
+gpuA -20.3997 1.825 -11.180 0.000 -24.046 -16.753
+gpuA2 0.0777 0.009 8.845 0.000 0.060 0.095
+==============================================================================
+Omnibus: 10.045 Durbin-Watson: 1.859
+Prob(Omnibus): 0.007 Jarque-Bera (JB): 11.431
+Skew: 0.676 Prob(JB): 0.00329
+Kurtosis: 4.526 Cond. No. 4.85e+04
+==============================================================================
+
+Warnings:
+[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
+[2] The condition number is large, 4.85e+04. This might indicate that there are
+strong multicollinearity or other numerical problems.
+
diff --git a/results/Affinity/rslts/kodiak/ModelOut.html b/results/Affinity/rslts/kodiak/ModelOut.html
new file mode 100644
index 0000000..7d12365
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/ModelOut.html
@@ -0,0 +1,174 @@
+
+
+
+ |
+ |
+ gpuA |
+ gpuA2 |
+ const |
+ rsq |
+ rsqa |
+ BestAffinity |
+
+
+ Problem |
+ GridSize |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+ EulerClassic |
+ 5000000 |
+ -127.006 |
+ 0.486217 |
+ 7952.94 |
+ 0.707305 |
+ 0.698013 |
+ 130.606 |
+
+
+ 20000000 |
+ -561.906 |
+ 2.14295 |
+ 34881 |
+ 0.751196 |
+ 0.743297 |
+ 131.106 |
+
+
+ 40000000 |
+ -1114.44 |
+ 4.19291 |
+ 70818.1 |
+ 0.778785 |
+ 0.771762 |
+ 132.896 |
+
+
+ 60000000 |
+ -1623.38 |
+ 6.055 |
+ 105148 |
+ 0.77471 |
+ 0.767558 |
+ 134.053 |
+
+
+ EulerSwept |
+ 5000000 |
+ -92.3894 |
+ 0.343605 |
+ 6077.86 |
+ 0.758946 |
+ 0.751294 |
+ 134.441 |
+
+
+ 20000000 |
+ -373.064 |
+ 1.38703 |
+ 24325.2 |
+ 0.766392 |
+ 0.758976 |
+ 134.483 |
+
+
+ 40000000 |
+ -747.694 |
+ 2.77951 |
+ 48714.8 |
+ 0.765003 |
+ 0.757543 |
+ 134.501 |
+
+
+ 60000000 |
+ -1117.16 |
+ 4.15069 |
+ 72872.1 |
+ 0.765202 |
+ 0.757748 |
+ 134.575 |
+
+
+ HeatClassic |
+ 5000000 |
+ -1.20966 |
+ 0.00490915 |
+ 161.072 |
+ 0.537593 |
+ 0.522913 |
+ 123.204 |
+
+
+ 20000000 |
+ -56.2114 |
+ 0.223845 |
+ 3260.69 |
+ 0.531635 |
+ 0.516766 |
+ 125.559 |
+
+
+ 40000000 |
+ -119.062 |
+ 0.471976 |
+ 6900.28 |
+ 0.571322 |
+ 0.557713 |
+ 126.131 |
+
+
+ 60000000 |
+ -194.928 |
+ 0.760879 |
+ 11520.3 |
+ 0.7012 |
+ 0.691714 |
+ 128.094 |
+
+
+ HeatSwept |
+ 5000000 |
+ -1.69456 |
+ 0.00646227 |
+ 111.898 |
+ 0.73244 |
+ 0.723946 |
+ 131.112 |
+
+
+ 20000000 |
+ -6.79161 |
+ 0.0258779 |
+ 443.866 |
+ 0.733153 |
+ 0.724682 |
+ 131.224 |
+
+
+ 40000000 |
+ -13.5915 |
+ 0.0518008 |
+ 886.246 |
+ 0.734933 |
+ 0.726518 |
+ 131.19 |
+
+
+ 60000000 |
+ -20.3997 |
+ 0.0777251 |
+ 1329.83 |
+ 0.736467 |
+ 0.728101 |
+ 131.23 |
+
+
+
\ No newline at end of file
diff --git a/results/Affinity/rslts/kodiak/SweepScale.csv b/results/Affinity/rslts/kodiak/SweepScale.csv
new file mode 100644
index 0000000..181e825
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/SweepScale.csv
@@ -0,0 +1,6 @@
+,Euler,Euler,Heat,Heat
+,Classic,Swept,Classic,Swept
+Delta-GridSize,,,,
+4.0,3.6456361962520947,3.414045913985325,3.0438106836389816,3.7082140418681453
+2.0,1.9606875729473539,1.9662097233822717,1.8928768155534603,1.9585449815289695
+1.5,1.502908629886935,1.506095304627357,1.4858439736998001,1.5006360493619362
diff --git a/results/Affinity/rslts/kodiak/SweepSpeedup.csv b/results/Affinity/rslts/kodiak/SweepSpeedup.csv
new file mode 100644
index 0000000..6434c63
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/SweepSpeedup.csv
@@ -0,0 +1,5 @@
+,EulerSwept,HeatSwept
+5000000,1.6580121471810811,6.658915857756082
+20000000,1.770482661884607,5.465833147829844
+40000000,1.7655102159216594,5.2825689176328305
+60000000,1.761774657626146,5.230497558189415
diff --git a/results/Affinity/rslts/kodiak/summaryGPU.csv b/results/Affinity/rslts/kodiak/summaryGPU.csv
new file mode 100644
index 0000000..b0e4462
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/summaryGPU.csv
@@ -0,0 +1,6 @@
+,EulerClassic,EulerClassic,EulerClassic,EulerSwept,EulerSwept,EulerSwept,HeatClassic,HeatClassic,HeatClassic,HeatSwept,HeatSwept,HeatSwept
+,NoGpu,Gpu,Speedup,NoGpu,Gpu,Speedup,NoGpu,Gpu,Speedup,NoGpu,Gpu,Speedup
+5000000,10896.383875215004,711.8338963708212,15.307481044059,8288.354640430089,429.329723296097,19.305336180308757,204.7003460931905,90.62497381439556,2.258763092306398,138.70761564027137,13.609568847282945,10.191918435973331
+20000000,47877.494999179944,2595.0874183286282,18.449280228877818,33056.29451612086,1465.75138757149,22.5524565737507,5368.912455987745,275.84526350076015,19.46349336526835,545.3794527938942,50.467194303265885,10.806613292520623
+40000000,94578.5306828337,5088.155651828973,18.58797905461811,66202.32261838247,2881.9746303041206,22.97116772724556,11002.691064416882,522.141103960824,21.072256102715116,1088.4477151409474,98.8422701345088,11.011965970224491
+60000000,139262.03315278725,7647.033039341745,18.21125035504945,99529.18339346872,4340.528458756199,22.93019947667601,16548.31418405575,775.8202127411512,21.330088997793382,1633.7479598961534,148.32627376461457,11.01455540161967
diff --git a/results/Affinity/rslts/kodiak/tEulerC.csv b/results/Affinity/rslts/kodiak/tEulerC.csv
new file mode 100644
index 0000000..edcb59f
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/tEulerC.csv
@@ -0,0 +1,265 @@
+tpb,gpuA,nX,time
+64,0.0000,5004288,11783.87815075
+64,20.0000,5018624,2812.13139812
+64,40.0000,5017600,1679.29029275
+64,60.0000,5016576,1225.09731800
+64,80.0000,5012480,960.13265738
+64,100.0000,5022720,813.99975062
+64,120.0000,5019648,792.31906238
+64,140.0000,5035008,801.94281775
+64,160.0000,5018624,805.18877563
+64,180.0000,5031936,811.22733137
+64,200.0000,5136384,830.96740388
+64,0.0000,19998720,48623.35153288
+64,20.0000,20015104,14200.17176550
+64,40.0000,20020224,6944.46290487
+64,60.0000,19995648,4628.62926112
+64,80.0000,20049920,3637.31779462
+64,100.0000,19979264,2991.15298900
+64,120.0000,20078592,3045.81016138
+64,140.0000,19987456,3062.34361250
+64,160.0000,20074496,3098.82832213
+64,180.0000,20127744,3124.47561675
+64,200.0000,20117504,3136.43867500
+64,0.0000,40006656,97887.80852587
+64,20.0000,40000512,30230.11087313
+64,40.0000,39990272,17999.74328963
+64,60.0000,39991296,11950.35099237
+64,80.0000,40008704,8003.30436638
+64,100.0000,40070144,5952.42356062
+64,120.0000,40025088,6021.71066375
+64,140.0000,39974912,6074.14717112
+64,160.0000,39975936,6120.90046937
+64,180.0000,40061952,6169.40677712
+64,200.0000,40020992,6192.32921700
+64,0.0000,60005376,146062.35850775
+64,20.0000,60015616,45580.10057712
+64,40.0000,60010496,25714.65400900
+64,60.0000,59986944,19169.69952175
+64,80.0000,60058624,14307.63681287
+64,100.0000,60049408,11641.39742238
+64,120.0000,59971584,9023.45686113
+64,140.0000,59962368,9087.32309750
+64,160.0000,60050432,9167.94896500
+64,180.0000,59996160,9213.63170375
+64,200.0000,60138496,9279.87821501
+128,0.0000,5013504,11757.46340212
+128,20.0000,4988928,2766.47418625
+128,40.0000,5017600,1671.34885662
+128,60.0000,5087232,1224.00494725
+128,80.0000,5103616,977.99042162
+128,100.0000,5134336,829.41286687
+128,120.0000,5019648,783.61794475
+128,140.0000,5187584,815.17688875
+128,160.0000,5191680,821.51525750
+128,180.0000,5031936,802.23850475
+128,200.0000,5136384,821.41753050
+128,0.0000,19998720,47874.43083950
+128,20.0000,20015104,15075.12919188
+128,40.0000,20070400,6712.52218875
+128,60.0000,20066304,4675.84769813
+128,80.0000,20049920,3592.19171800
+128,100.0000,20090880,2979.54962349
+128,120.0000,20078592,2990.41510213
+128,140.0000,20140032,3029.20488925
+128,160.0000,20074496,3041.62322575
+128,180.0000,20127744,3067.88597163
+128,200.0000,20117504,3079.56767587
+128,0.0000,39997440,94572.47765687
+128,20.0000,40030208,30424.32167438
+128,40.0000,40040448,17873.19761575
+128,60.0000,39991296,11613.22394975
+128,80.0000,40099840,8473.85956313
+128,100.0000,39958528,5999.73280512
+128,120.0000,40157184,5934.77746688
+128,140.0000,39974912,5965.04125500
+128,160.0000,40148992,6035.97486338
+128,180.0000,40255488,6087.85873562
+128,200.0000,40235008,6113.13958250
+128,0.0000,59996160,142772.46349949
+128,20.0000,59985920,45456.53581388
+128,40.0000,60010496,27007.73269538
+128,60.0000,60057600,18476.24612613
+128,80.0000,59967488,14727.70278325
+128,100.0000,60049408,10747.32587525
+128,120.0000,59971584,9196.43597838
+128,140.0000,60114944,8954.23480925
+128,160.0000,60223488,9033.10393688
+128,180.0000,59996160,9053.38325850
+128,200.0000,59924480,9084.66930625
+256,0.0000,5013504,11372.29297150
+256,20.0000,4988928,2775.72455713
+256,40.0000,5017600,1692.89858737
+256,60.0000,5087232,1222.97662762
+256,80.0000,5103616,993.21932763
+256,100.0000,4911104,789.28606275
+256,120.0000,5283840,768.81978338
+256,140.0000,4882432,721.24009050
+256,160.0000,4845568,721.49283888
+256,180.0000,5419008,803.85873387
+256,200.0000,5136384,767.87321788
+256,0.0000,20017152,48435.26719313
+256,20.0000,20074496,14854.54966738
+256,40.0000,20070400,7239.42334425
+256,60.0000,20066304,4647.95095062
+256,80.0000,20049920,3616.48418600
+256,100.0000,20090880,2972.54657962
+256,120.0000,20078592,2737.58108637
+256,140.0000,20140032,2770.59887412
+256,160.0000,20074496,2781.72689051
+256,180.0000,20127744,2805.26021662
+256,200.0000,20545536,2875.54629738
+256,0.0000,39997440,98394.44690462
+256,20.0000,40030208,30472.42979600
+256,40.0000,40140800,18102.67986950
+256,60.0000,40132608,12208.79334425
+256,80.0000,40099840,8654.66111275
+256,100.0000,40181760,5934.13886738
+256,120.0000,40157184,5411.07995600
+256,140.0000,40280064,5480.66289175
+256,160.0000,40148992,5503.76790537
+256,180.0000,40255488,5550.41552200
+256,200.0000,40235008,5575.29760387
+256,0.0000,60014592,147062.42835262
+256,20.0000,59985920,45192.13517400
+256,40.0000,60010496,27050.43564863
+256,60.0000,60198912,19388.07943537
+256,80.0000,60149760,14837.61907525
+256,100.0000,60272640,11601.01377488
+256,120.0000,60235776,9102.71150774
+256,140.0000,60420096,8192.80759775
+256,160.0000,60223488,8228.02971000
+256,180.0000,60383232,8301.69005325
+256,200.0000,59924480,8274.25051100
+512,0.0000,5013504,11734.08713275
+512,20.0000,4988928,2776.03545225
+512,40.0000,5218304,1757.60390088
+512,60.0000,5087232,1226.01334375
+512,80.0000,5103616,982.39118925
+512,100.0000,5357568,860.41989487
+512,120.0000,5283840,752.24328300
+512,140.0000,4882432,704.83720562
+512,160.0000,5537792,795.71747888
+512,180.0000,4644864,683.35053888
+512,200.0000,5136384,750.13970025
+512,0.0000,20054016,48630.30086950
+512,20.0000,19955712,14963.54845137
+512,40.0000,20070400,6874.29857688
+512,60.0000,20348928,4727.43878438
+512,80.0000,20414464,3753.96199987
+512,100.0000,20537344,3002.42100750
+512,120.0000,20078592,2661.10078650
+512,140.0000,20750336,2774.09229375
+512,160.0000,20766720,2796.77918713
+512,180.0000,20127744,2728.29530312
+512,200.0000,20545536,2796.81594300
+512,0.0000,40034304,96892.25797912
+512,20.0000,40148992,30448.46302288
+512,40.0000,40140800,17654.23429062
+512,60.0000,40132608,12196.48608287
+512,80.0000,40099840,7698.94203937
+512,100.0000,40181760,5986.18090975
+512,120.0000,40157184,5258.97153137
+512,140.0000,40280064,5326.87250074
+512,160.0000,40148992,5350.06961750
+512,180.0000,40255488,5394.62859838
+512,200.0000,41091072,5531.10533112
+512,0.0000,60014592,139295.90167925
+512,20.0000,60104704,45522.65821025
+512,40.0000,60211200,26413.62101562
+512,60.0000,59916288,19195.42062262
+512,80.0000,60514304,14856.85446826
+512,100.0000,59826176,11596.34789525
+512,120.0000,60235776,9295.56653462
+512,140.0000,59809792,7879.34753700
+512,160.0000,60915712,8084.51174700
+512,180.0000,60383232,8061.78847450
+512,200.0000,59924480,8039.16515600
+768,0.0000,4976640,10845.47596975
+768,20.0000,4988928,2792.95322113
+768,40.0000,5419008,1815.12057187
+768,60.0000,5087232,1236.05428675
+768,80.0000,5468160,1048.65413175
+768,100.0000,5357568,861.03767624
+768,120.0000,4755456,692.02235288
+768,140.0000,5492736,791.94083375
+768,160.0000,6230016,890.56868663
+768,180.0000,4644864,692.39359725
+768,200.0000,5136384,763.17893888
+768,0.0000,20017152,49198.33373462
+768,20.0000,19955712,14777.58384725
+768,40.0000,19869696,6867.77474938
+768,60.0000,20348928,4708.52046838
+768,80.0000,20779008,3728.01794175
+768,100.0000,20090880,2950.66332800
+768,120.0000,20606976,2673.84520737
+768,140.0000,20140032,2637.00820725
+768,160.0000,20766720,2735.43453638
+768,180.0000,20901888,2772.44657512
+768,200.0000,20545536,2734.28289151
+768,0.0000,40034304,97760.30247062
+768,20.0000,39911424,30057.62142337
+768,40.0000,40341504,18051.58786838
+768,60.0000,39849984,12062.78438925
+768,80.0000,40464384,8433.04798563
+768,100.0000,40181760,6060.88282325
+768,120.0000,39628800,5040.93756738
+768,140.0000,40280064,5168.37778675
+768,160.0000,41533440,5366.09072737
+768,180.0000,39481344,5136.71369338
+768,200.0000,41091072,5366.20771538
+768,0.0000,60051456,147135.99642937
+768,20.0000,60223488,45687.20991049
+768,40.0000,60211200,27198.45217412
+768,60.0000,60198912,19344.43592938
+768,80.0000,60149760,14600.60034875
+768,100.0000,60272640,11685.50407750
+768,120.0000,60235776,8672.93402488
+768,140.0000,60420096,7700.57450587
+768,160.0000,60223488,7733.58930663
+768,180.0000,60383232,7798.93083138
+768,200.0000,61636608,7995.51330800
+1024,0.0000,5013504,11281.82796837
+1024,20.0000,5226496,2941.37355088
+1024,40.0000,4816896,1601.53070475
+1024,60.0000,5652480,1360.15460113
+1024,80.0000,5832704,1119.29043988
+1024,100.0000,5357568,860.05091688
+1024,120.0000,6340608,903.34375838
+1024,140.0000,4882432,725.45867475
+1024,160.0000,5537792,820.24783438
+1024,180.0000,6193152,903.53652112
+1024,200.0000,6848512,998.67660187
+1024,0.0000,20054016,49121.57814274
+1024,20.0000,19955712,14947.33541937
+1024,40.0000,20070400,6697.18386175
+1024,60.0000,20348928,4716.77040937
+1024,80.0000,20414464,3706.92997388
+1024,100.0000,19644416,2926.04467963
+1024,120.0000,21135360,3125.80374337
+1024,140.0000,19529728,2601.19634900
+1024,160.0000,19382272,2600.57194188
+1024,180.0000,21676032,2912.26790538
+1024,200.0000,20545536,2778.75635363
+1024,0.0000,40108032,95041.36025074
+1024,20.0000,39911424,30408.53713763
+1024,40.0000,40140800,18010.89885788
+1024,60.0000,40697856,11917.53740050
+1024,80.0000,40828928,8372.03282737
+1024,100.0000,41074688,6154.80216125
+1024,120.0000,40157184,5188.25280937
+1024,140.0000,41500672,5408.23080150
+1024,160.0000,41533440,5454.66838375
+1024,180.0000,40255488,5321.71928750
+1024,200.0000,41091072,5453.26037125
+1024,0.0000,60014592,140573.98987537
+1024,20.0000,60342272,45183.92840912
+1024,40.0000,60211200,27166.83289512
+1024,60.0000,59916288,18764.45838175
+1024,80.0000,59785216,14688.55746837
+1024,100.0000,60719104,11679.45586675
+1024,120.0000,61292544,9497.34152763
+1024,140.0000,61030400,7906.04479563
+1024,160.0000,60915712,7949.04941650
+1024,180.0000,61931520,8127.78019587
+1024,200.0000,61636608,8126.44736350
diff --git a/results/Affinity/rslts/kodiak/tEulerS.csv b/results/Affinity/rslts/kodiak/tEulerS.csv
new file mode 100644
index 0000000..29cb9ff
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/tEulerS.csv
@@ -0,0 +1,265 @@
+tpb,gpuA,nX,time
+64,0.0000,5004288,8517.35432971
+64,20.0000,5018624,2633.92132161
+64,40.0000,5017600,1561.44198316
+64,60.0000,5016576,1135.76307498
+64,80.0000,5012480,902.16634556
+64,100.0000,5022720,759.58651834
+64,120.0000,5019648,672.75757261
+64,140.0000,5035008,675.36134606
+64,160.0000,5018624,673.43523802
+64,180.0000,5031936,679.05126934
+64,200.0000,5136384,699.06377532
+64,0.0000,19998720,34022.79539832
+64,20.0000,20015104,10494.18025548
+64,40.0000,20020224,6224.95793139
+64,60.0000,19995648,4391.31895060
+64,80.0000,20049920,3439.75209781
+64,100.0000,19979264,2771.49000025
+64,120.0000,20078592,2605.91770883
+64,140.0000,19987456,2614.19440195
+64,160.0000,20074496,2645.68461315
+64,180.0000,20127744,2668.83248915
+64,200.0000,20117504,2678.71626210
+64,0.0000,40006656,68035.36968638
+64,20.0000,40000512,21122.04029130
+64,40.0000,39990272,12394.83227208
+64,60.0000,39991296,8855.81157934
+64,80.0000,40008704,6883.20266455
+64,100.0000,40070144,5576.62030040
+64,120.0000,40025088,5176.20747692
+64,140.0000,39974912,5210.53452633
+64,160.0000,39975936,5250.10029092
+64,180.0000,40061952,5292.51966131
+64,200.0000,40020992,5312.83800973
+64,0.0000,60005376,100920.69750636
+64,20.0000,60015616,31432.02185990
+64,40.0000,60010496,18726.59938735
+64,60.0000,59986944,13338.17415993
+64,80.0000,60058624,10278.71686939
+64,100.0000,60049408,8400.93399576
+64,120.0000,59971584,7734.64833396
+64,140.0000,59962368,7808.59524813
+64,160.0000,60050432,7876.82407323
+64,180.0000,59996160,7916.78765794
+64,200.0000,60138496,7973.37581700
+128,0.0000,5013504,8434.59294634
+128,20.0000,4988928,2613.91694273
+128,40.0000,5017600,1561.68832608
+128,60.0000,5087232,1150.27480167
+128,80.0000,5103616,918.43340675
+128,100.0000,5134336,773.92177677
+128,120.0000,5019648,662.77176071
+128,140.0000,5187584,604.81089467
+128,160.0000,5191680,550.31680727
+128,180.0000,5031936,508.56831897
+128,200.0000,5136384,504.05840613
+128,0.0000,19998720,33398.42121539
+128,20.0000,20015104,10500.63245369
+128,40.0000,20070400,6286.57395668
+128,60.0000,20066304,4414.60078685
+128,80.0000,20049920,3423.16287189
+128,100.0000,20090880,2773.82002677
+128,120.0000,20078592,2376.13764728
+128,140.0000,20140032,2060.35034923
+128,160.0000,20074496,1942.53610769
+128,180.0000,20127744,1949.53712575
+128,200.0000,20117504,1955.32351730
+128,0.0000,39997440,67525.25341135
+128,20.0000,40030208,20899.28753349
+128,40.0000,40040448,12317.88939318
+128,60.0000,39991296,8798.98630976
+128,80.0000,40099840,6799.80733192
+128,100.0000,39958528,5536.84409288
+128,120.0000,40157184,4737.23566023
+128,140.0000,39974912,4053.12564828
+128,160.0000,40148992,3852.38471925
+128,180.0000,40255488,3883.59639243
+128,200.0000,40235008,3897.94087861
+128,0.0000,59996160,100038.98503162
+128,20.0000,59985920,31077.89565749
+128,40.0000,60010496,18427.89044223
+128,60.0000,60057600,13182.08378250
+128,80.0000,59967488,10250.90229594
+128,100.0000,60049408,8413.60830801
+128,120.0000,59971584,7021.25990998
+128,140.0000,60114944,6106.33904482
+128,160.0000,60223488,5765.92586031
+128,180.0000,59996160,5776.11368302
+128,200.0000,59924480,5796.43890513
+256,0.0000,5013504,8420.36535379
+256,20.0000,4988928,2605.71704638
+256,40.0000,5017600,1559.84119531
+256,60.0000,5087232,1145.62124144
+256,80.0000,5103616,917.61514124
+256,100.0000,4911104,745.33760144
+256,120.0000,5283840,691.60527095
+256,140.0000,4882432,575.02280865
+256,160.0000,4845568,518.22198598
+256,180.0000,5419008,522.25264174
+256,200.0000,5136384,465.83263244
+256,0.0000,20017152,33689.50398289
+256,20.0000,20074496,10684.71958408
+256,40.0000,20070400,6177.77340712
+256,60.0000,20066304,4405.10029179
+256,80.0000,20049920,3410.52715687
+256,100.0000,20090880,2780.88103250
+256,120.0000,20078592,2349.07772347
+256,140.0000,20140032,2039.82682279
+256,160.0000,20074496,2001.17772111
+256,180.0000,20127744,1657.22745338
+256,200.0000,20545536,1694.42137339
+256,0.0000,39997440,67279.37844457
+256,20.0000,40030208,20638.12363790
+256,40.0000,40140800,12265.06899628
+256,60.0000,40132608,8707.90710541
+256,80.0000,40099840,6827.30811769
+256,100.0000,40181760,5570.52586037
+256,120.0000,40157184,4695.63915873
+256,140.0000,40280064,4116.08426376
+256,160.0000,40148992,3603.07194383
+256,180.0000,40255488,3291.05576959
+256,200.0000,40235008,3301.09291369
+256,0.0000,60014592,99553.38889087
+256,20.0000,59985920,30934.70925546
+256,40.0000,60010496,18451.59856759
+256,60.0000,60198912,13226.18456857
+256,80.0000,60149760,10384.96513541
+256,100.0000,60272640,8306.59030816
+256,120.0000,60235776,7049.65887835
+256,140.0000,60420096,6100.15128324
+256,160.0000,60223488,5399.98548834
+256,180.0000,60383232,4923.71649926
+256,200.0000,59924480,4906.54517262
+512,0.0000,5013504,8421.85283916
+512,20.0000,4988928,2603.71929688
+512,40.0000,5218304,1606.19586979
+512,60.0000,5087232,1141.84812785
+512,80.0000,5103616,915.14829080
+512,100.0000,5357568,804.53770399
+512,120.0000,5283840,691.03920660
+512,140.0000,4882432,575.61892882
+512,160.0000,5537792,579.39734202
+512,180.0000,4644864,461.51459735
+512,200.0000,5136384,464.19325905
+512,0.0000,20054016,33145.57295635
+512,20.0000,19955712,10269.24243886
+512,40.0000,20070400,6198.26937996
+512,60.0000,20348928,4508.23746255
+512,80.0000,20414464,3479.22860739
+512,100.0000,20537344,2820.76042596
+512,120.0000,20078592,2335.79846069
+512,140.0000,20750336,2106.44279377
+512,160.0000,20766720,1861.01173698
+512,180.0000,20127744,1623.86472049
+512,200.0000,20545536,1702.24275868
+512,0.0000,40034304,66259.96740229
+512,20.0000,40148992,20865.36253175
+512,40.0000,40140800,12358.58142932
+512,60.0000,40132608,8687.75378236
+512,80.0000,40099840,6734.40995622
+512,100.0000,40181760,5511.77559685
+512,120.0000,40157184,4662.33445957
+512,140.0000,40280064,4048.96564310
+512,160.0000,40148992,3596.91740141
+512,180.0000,40255488,3227.17706399
+512,200.0000,41091072,3124.49100979
+512,0.0000,60014592,100893.55124714
+512,20.0000,60104704,30903.59685826
+512,40.0000,60211200,18580.81434003
+512,60.0000,59916288,13169.79943961
+512,80.0000,60514304,10243.37570597
+512,100.0000,59826176,8303.96757254
+512,120.0000,60235776,6992.83160404
+512,140.0000,59809792,6084.34876774
+512,160.0000,60915712,5420.44571007
+512,180.0000,60383232,4835.55014075
+512,200.0000,59924480,4553.75530717
+768,0.0000,4976640,8249.63144755
+768,20.0000,4988928,2584.97909375
+768,40.0000,5419008,1670.95241994
+768,60.0000,5087232,1147.52076138
+768,80.0000,5468160,978.13087282
+768,100.0000,5357568,811.43924770
+768,120.0000,4755456,632.08725994
+768,140.0000,5492736,636.15204409
+768,160.0000,6230016,642.18961846
+768,180.0000,4644864,464.86515383
+768,200.0000,5136384,471.60042878
+768,0.0000,20017152,33125.29614935
+768,20.0000,19955712,10364.19708587
+768,40.0000,19869696,6063.36498280
+768,60.0000,20348928,4408.42657946
+768,80.0000,20779008,3563.55025266
+768,100.0000,20090880,2795.97543798
+768,120.0000,20606976,2398.28146827
+768,140.0000,20140032,2038.04285841
+768,160.0000,20766720,1863.94231408
+768,180.0000,20901888,1723.23996027
+768,200.0000,20545536,1721.25868653
+768,0.0000,40034304,66259.09773026
+768,20.0000,39911424,20517.11990879
+768,40.0000,40341504,12418.02121644
+768,60.0000,39849984,8690.64698619
+768,80.0000,40464384,6884.27456601
+768,100.0000,40181760,5573.07924455
+768,120.0000,39628800,4599.28641582
+768,140.0000,40280064,4102.57519864
+768,160.0000,41533440,3736.86148813
+768,180.0000,39481344,3261.44246305
+768,200.0000,41091072,3408.74741897
+768,0.0000,60051456,100402.20237827
+768,20.0000,60223488,31248.07614486
+768,40.0000,60211200,18575.86604155
+768,60.0000,60198912,13193.49655790
+768,80.0000,60149760,10216.22562936
+768,100.0000,60272640,8319.74790540
+768,120.0000,60235776,7089.09108152
+768,140.0000,60420096,6141.46195458
+768,160.0000,60223488,5385.89089608
+768,180.0000,60383232,4985.39065007
+768,200.0000,61636608,5097.79041170
+1024,0.0000,5013504,8318.65543554
+1024,20.0000,5226496,2688.51088110
+1024,40.0000,4816896,1501.09369727
+1024,60.0000,5652480,1266.48847986
+1024,80.0000,5832704,1041.88226624
+1024,100.0000,5357568,808.39018823
+1024,120.0000,6340608,813.57048132
+1024,140.0000,4882432,579.78039783
+1024,160.0000,5537792,583.26358715
+1024,180.0000,6193152,589.60186536
+1024,200.0000,6848512,588.05395239
+1024,0.0000,20054016,33536.90815539
+1024,20.0000,19955712,10256.84667042
+1024,40.0000,20070400,6193.29853185
+1024,60.0000,20348928,4408.05102747
+1024,80.0000,20414464,3428.69245423
+1024,100.0000,19644416,2726.29648632
+1024,120.0000,21135360,2463.28362768
+1024,140.0000,19529728,1981.04486108
+1024,160.0000,19382272,1742.04483911
+1024,180.0000,21676032,1735.93653369
+1024,200.0000,20545536,1505.73239502
+1024,0.0000,40108032,67378.32563122
+1024,20.0000,39911424,20830.45251990
+1024,40.0000,40140800,12214.98398206
+1024,60.0000,40697856,8817.03462610
+1024,80.0000,40828928,6936.94526416
+1024,100.0000,41074688,5693.10851465
+1024,120.0000,40157184,4663.50199622
+1024,140.0000,41500672,4194.11465320
+1024,160.0000,41533440,3691.57730457
+1024,180.0000,40255488,3198.06748120
+1024,200.0000,41091072,2960.58567590
+1024,0.0000,60014592,100325.03777917
+1024,20.0000,60342272,31046.49547827
+1024,40.0000,60211200,18575.78582849
+1024,60.0000,59916288,13138.35770178
+1024,80.0000,59785216,10036.60961755
+1024,100.0000,60719104,8326.84979822
+1024,120.0000,61292544,7182.06777942
+1024,140.0000,61030400,6150.68463391
+1024,160.0000,60915712,5405.91338342
+1024,180.0000,61931520,4918.43451233
+1024,200.0000,61636608,4458.92418542
diff --git a/results/Affinity/rslts/kodiak/tHeatC.csv b/results/Affinity/rslts/kodiak/tHeatC.csv
new file mode 100644
index 0000000..95bfa3d
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/tHeatC.csv
@@ -0,0 +1,265 @@
+tpb,gpuA,nX,time
+64,0.0000,5004288,204.87589711
+64,20.0000,5018624,104.33697360
+64,40.0000,5017600,92.54232373
+64,60.0000,5016576,97.67801115
+64,80.0000,5012480,99.73342373
+64,100.0000,5022720,100.90793915
+64,120.0000,5019648,100.76084886
+64,140.0000,5035008,100.98372081
+64,160.0000,5018624,101.04701535
+64,180.0000,5031936,101.76483261
+64,200.0000,5136384,103.82936608
+64,0.0000,19998720,5467.81605945
+64,20.0000,20015104,286.52001790
+64,40.0000,20020224,283.42102265
+64,60.0000,19995648,299.35141223
+64,80.0000,20049920,309.26371576
+64,100.0000,19979264,313.68735773
+64,120.0000,20078592,319.58999000
+64,140.0000,19987456,321.20908300
+64,160.0000,20074496,324.33057267
+64,180.0000,20127744,326.92544878
+64,200.0000,20117504,328.20844058
+64,0.0000,40006656,11004.52191221
+64,20.0000,40000512,1050.83629299
+64,40.0000,39990272,539.13865227
+64,60.0000,39991296,572.26335683
+64,80.0000,40008704,590.66536753
+64,100.0000,40070144,603.67562117
+64,120.0000,40025088,610.66978976
+64,140.0000,39974912,616.06167172
+64,160.0000,39975936,620.75781236
+64,180.0000,40061952,625.07452757
+64,200.0000,40020992,627.60251248
+64,0.0000,60005376,16557.22592386
+64,20.0000,60015616,4877.38249257
+64,40.0000,60010496,796.49476106
+64,60.0000,59986944,845.64693730
+64,80.0000,60058624,874.23044513
+64,100.0000,60049408,891.35539303
+64,120.0000,59971584,902.57033288
+64,140.0000,59962368,911.32390291
+64,160.0000,60050432,919.18125659
+64,180.0000,59996160,923.63536733
+64,200.0000,60138496,930.08926094
+128,0.0000,5013504,206.28898685
+128,20.0000,4988928,102.93517354
+128,40.0000,5017600,92.60115059
+128,60.0000,5087232,99.00308825
+128,80.0000,5103616,101.59187206
+128,100.0000,5134336,101.84105585
+128,120.0000,5019648,101.05205545
+128,140.0000,5187584,103.79536748
+128,160.0000,5191680,104.43791651
+128,180.0000,5031936,102.30342518
+128,200.0000,5136384,104.09434613
+128,0.0000,19998720,5422.53955552
+128,20.0000,20015104,286.70563382
+128,40.0000,20070400,285.76515399
+128,60.0000,20066304,302.71010880
+128,80.0000,20049920,311.69858442
+128,100.0000,20090880,318.32521324
+128,120.0000,20078592,321.94487606
+128,140.0000,20140032,326.86490710
+128,160.0000,20074496,328.25512635
+128,180.0000,20127744,329.89370862
+128,200.0000,20117504,331.13616709
+128,0.0000,39997440,11055.97938403
+128,20.0000,40030208,1217.34285406
+128,40.0000,40040448,545.05957492
+128,60.0000,39991296,577.85223524
+128,80.0000,40099840,597.64778491
+128,100.0000,39958528,607.80578701
+128,120.0000,40157184,618.51126709
+128,140.0000,39974912,622.15889371
+128,160.0000,40148992,629.27719309
+128,180.0000,40255488,634.45785145
+128,200.0000,40235008,637.72552182
+128,0.0000,59996160,16561.26688356
+128,20.0000,59985920,4904.46153903
+128,40.0000,60010496,805.10562777
+128,60.0000,60057600,855.59714814
+128,80.0000,59967488,881.76954902
+128,100.0000,60049408,900.63658922
+128,120.0000,59971584,911.95839458
+128,140.0000,60114944,922.92918469
+128,160.0000,60223488,931.42499670
+128,180.0000,59996160,933.59978291
+128,200.0000,59924480,937.05092340
+256,0.0000,5013504,206.01332698
+256,20.0000,4988928,105.80605380
+256,40.0000,5017600,92.67532853
+256,60.0000,5087232,99.18221199
+256,80.0000,5103616,100.70786870
+256,100.0000,4911104,99.89502560
+256,120.0000,5283840,104.76738113
+256,140.0000,4882432,99.92234653
+256,160.0000,4845568,99.69777741
+256,180.0000,5419008,108.46722539
+256,200.0000,5136384,104.95041058
+256,0.0000,20017152,5446.50232748
+256,20.0000,20074496,287.68374681
+256,40.0000,20070400,285.08089795
+256,60.0000,20066304,301.89326084
+256,80.0000,20049920,310.95504250
+256,100.0000,20090880,317.01908735
+256,120.0000,20078592,321.00977061
+256,140.0000,20140032,324.84943168
+256,160.0000,20074496,325.98742568
+256,180.0000,20127744,328.73475336
+256,200.0000,20545536,336.93646013
+256,0.0000,39997440,11052.16764357
+256,20.0000,40030208,1095.08541338
+256,40.0000,40140800,544.43631203
+256,60.0000,40132608,578.48162437
+256,80.0000,40099840,595.96042213
+256,100.0000,40181760,609.30666692
+256,120.0000,40157184,617.03021809
+256,140.0000,40280064,625.32690235
+256,160.0000,40148992,627.29448718
+256,180.0000,40255488,632.69662087
+256,200.0000,40235008,635.50858102
+256,0.0000,60014592,16582.95166692
+256,20.0000,59985920,4915.73091075
+256,40.0000,60010496,803.27656047
+256,60.0000,60198912,855.35781146
+256,80.0000,60149760,882.14431778
+256,100.0000,60272640,902.58982411
+256,120.0000,60235776,914.10180681
+256,140.0000,60420096,925.59145623
+256,160.0000,60223488,929.19528044
+256,180.0000,60383232,937.37960557
+256,200.0000,59924480,934.71424809
+512,0.0000,5013504,205.77775411
+512,20.0000,4988928,105.11343743
+512,40.0000,5218304,94.90464172
+512,60.0000,5087232,98.92665122
+512,80.0000,5103616,101.08816664
+512,100.0000,5357568,104.54126119
+512,120.0000,5283840,105.03861602
+512,140.0000,4882432,99.23943693
+512,160.0000,5537792,109.41462287
+512,180.0000,4644864,98.61391455
+512,200.0000,5136384,105.32351877
+512,0.0000,20054016,5461.81631448
+512,20.0000,19955712,284.48418214
+512,40.0000,20070400,281.43757567
+512,60.0000,20348928,301.94530428
+512,80.0000,20414464,311.47714164
+512,100.0000,20537344,319.04023529
+512,120.0000,20078592,316.72891290
+512,140.0000,20750336,329.67239218
+512,160.0000,20766720,332.00442543
+512,180.0000,20127744,324.01747868
+512,200.0000,20545536,332.00699920
+512,0.0000,40034304,11234.75491280
+512,20.0000,40148992,1073.91897895
+512,40.0000,40140800,535.18283686
+512,60.0000,40132608,568.41264657
+512,80.0000,40099840,585.87075886
+512,100.0000,40181760,598.40245318
+512,120.0000,40157184,606.06787791
+512,140.0000,40280064,613.83661722
+512,160.0000,40148992,616.11365152
+512,180.0000,40255488,621.55570136
+512,200.0000,41091072,636.39236313
+512,0.0000,60014592,16707.21097335
+512,20.0000,60104704,5088.80225444
+512,40.0000,60211200,790.24770161
+512,60.0000,59916288,835.23907655
+512,80.0000,60514304,870.60373136
+512,100.0000,59826176,877.67439768
+512,120.0000,60235776,895.67068602
+512,140.0000,59809792,898.21871251
+512,160.0000,60915712,921.29537793
+512,180.0000,60383232,918.57521419
+512,200.0000,59924480,915.99980116
+768,0.0000,4976640,205.32040788
+768,20.0000,4988928,103.59126984
+768,40.0000,5419008,98.21949162
+768,60.0000,5087232,98.33717299
+768,80.0000,5468160,103.33691455
+768,100.0000,5357568,103.30766972
+768,120.0000,4755456,98.45645018
+768,140.0000,5492736,107.75510404
+768,160.0000,6230016,119.29320964
+768,180.0000,4644864,97.61159642
+768,200.0000,5136384,103.09787491
+768,0.0000,20017152,5373.51683531
+768,20.0000,19955712,286.05648493
+768,40.0000,19869696,274.04807644
+768,60.0000,20348928,296.45332828
+768,80.0000,20779008,311.09685866
+768,100.0000,20090880,307.16558677
+768,120.0000,20606976,318.47081246
+768,140.0000,20140032,314.83066932
+768,160.0000,20766720,325.72074357
+768,180.0000,20901888,329.25579381
+768,200.0000,20545536,325.65490690
+768,0.0000,40034304,11060.97118669
+768,20.0000,39911424,1081.65270516
+768,40.0000,40341504,526.59893585
+768,60.0000,39849984,551.65436328
+768,80.0000,40464384,577.62997940
+768,100.0000,40181760,584.97897995
+768,120.0000,39628800,585.00570377
+768,140.0000,40280064,599.96894790
+768,160.0000,41533440,621.84782021
+768,180.0000,39481344,595.90820259
+768,200.0000,41091072,621.71621329
+768,0.0000,60051456,16562.50601830
+768,20.0000,60223488,4914.79756697
+768,40.0000,60211200,847.88033218
+768,60.0000,60198912,819.13206410
+768,80.0000,60149760,845.12939708
+768,100.0000,60272640,863.43695245
+768,120.0000,60235776,874.55749407
+768,140.0000,60420096,885.54243723
+768,160.0000,60223488,889.07045828
+768,180.0000,60383232,896.27783341
+768,200.0000,61636608,918.58899960
+1024,0.0000,5013504,205.65351712
+1024,20.0000,5226496,107.98881896
+1024,40.0000,4816896,91.07491180
+1024,60.0000,5652480,105.28083106
+1024,80.0000,5832704,109.11973826
+1024,100.0000,5357568,104.83556522
+1024,120.0000,6340608,120.39230079
+1024,140.0000,4882432,100.11871476
+1024,160.0000,5537792,110.47204205
+1024,180.0000,6193152,120.86564867
+1024,200.0000,6848512,129.46729019
+1024,0.0000,20054016,5397.99298560
+1024,20.0000,19955712,285.92928054
+1024,40.0000,20070400,279.37402930
+1024,60.0000,20348928,299.01973227
+1024,80.0000,20414464,308.66879416
+1024,100.0000,19644416,303.66544873
+1024,120.0000,21135360,328.94914749
+1024,140.0000,19529728,308.53753967
+1024,160.0000,19382272,308.52503510
+1024,180.0000,21676032,343.64264772
+1024,200.0000,20545536,328.96766517
+1024,0.0000,40108032,11488.21896585
+1024,20.0000,39911424,1218.02913474
+1024,40.0000,40140800,528.31255162
+1024,60.0000,40697856,567.66602300
+1024,80.0000,40828928,587.58824104
+1024,100.0000,41074688,602.06995250
+1024,120.0000,40157184,597.17952547
+1024,140.0000,41500672,622.57184406
+1024,160.0000,41533440,627.30430338
+1024,180.0000,40255488,612.01743073
+1024,200.0000,41091072,627.45695985
+1024,0.0000,60014592,16648.72112260
+1024,20.0000,60342272,5051.04849242
+1024,40.0000,60211200,778.55109989
+1024,60.0000,59916288,822.55233588
+1024,80.0000,59785216,846.37559762
+1024,100.0000,60719104,876.61998150
+1024,120.0000,61292544,896.98757047
+1024,140.0000,61030400,902.22551037
+1024,160.0000,60915712,906.58935508
+1024,180.0000,61931520,926.53130628
+1024,200.0000,61636608,926.25114544
diff --git a/results/Affinity/rslts/kodiak/tHeatS.csv b/results/Affinity/rslts/kodiak/tHeatS.csv
new file mode 100644
index 0000000..7987314
--- /dev/null
+++ b/results/Affinity/rslts/kodiak/tHeatS.csv
@@ -0,0 +1,265 @@
+tpb,gpuA,nX,time
+64,0.0000,5004288,189.70309255
+64,20.0000,5018624,62.22814532
+64,40.0000,5017600,37.88999980
+64,60.0000,5016576,26.16634734
+64,80.0000,5012480,22.18076732
+64,100.0000,5022720,17.89041309
+64,120.0000,5019648,17.49654792
+64,140.0000,5035008,18.83949950
+64,160.0000,5018624,17.88661631
+64,180.0000,5031936,17.97988414
+64,200.0000,5136384,18.31690505
+64,0.0000,19998720,742.77556620
+64,20.0000,20015104,238.76906739
+64,40.0000,20020224,141.03115560
+64,60.0000,19995648,97.06591983
+64,80.0000,20049920,78.22304538
+64,100.0000,19979264,66.84346715
+64,120.0000,20078592,64.42041614
+64,140.0000,19987456,63.82025709
+64,160.0000,20074496,65.00887091
+64,180.0000,20127744,64.20949910
+64,200.0000,20117504,64.48140570
+64,0.0000,40006656,1473.90421021
+64,20.0000,40000512,462.95611232
+64,40.0000,39990272,270.22139157
+64,60.0000,39991296,201.51174755
+64,80.0000,40008704,161.08636492
+64,100.0000,40070144,123.61354498
+64,120.0000,40025088,124.19467802
+64,140.0000,39974912,124.00451618
+64,160.0000,39975936,125.58558996
+64,180.0000,40061952,125.19882673
+64,200.0000,40020992,126.71510014
+64,0.0000,60005376,2213.49198168
+64,20.0000,60015616,697.56108986
+64,40.0000,60010496,414.94488563
+64,60.0000,59986944,296.84552646
+64,80.0000,60058624,231.34753235
+64,100.0000,60049408,185.50569199
+64,120.0000,59971584,183.24308012
+64,140.0000,59962368,184.88250519
+64,160.0000,60050432,186.30229952
+64,180.0000,59996160,186.13300085
+64,200.0000,60138496,188.43994714
+128,0.0000,5013504,163.65414946
+128,20.0000,4988928,50.78511267
+128,40.0000,5017600,31.03491409
+128,60.0000,5087232,22.92593491
+128,80.0000,5103616,17.88060723
+128,100.0000,5134336,14.95350175
+128,120.0000,5019648,14.69761901
+128,140.0000,5187584,16.62662754
+128,160.0000,5191680,15.44138464
+128,180.0000,5031936,15.07603909
+128,200.0000,5136384,15.40948298
+128,0.0000,19998720,662.61756160
+128,20.0000,20015104,202.60166808
+128,40.0000,20070400,123.66268291
+128,60.0000,20066304,86.11132798
+128,80.0000,20049920,67.32250624
+128,100.0000,20090880,56.23663399
+128,120.0000,20078592,54.64916853
+128,140.0000,20140032,54.63176732
+128,160.0000,20074496,56.12175280
+128,180.0000,20127744,55.32249221
+128,200.0000,20117504,55.56241713
+128,0.0000,39997440,1328.68856844
+128,20.0000,40030208,417.09920218
+128,40.0000,40040448,241.90357298
+128,60.0000,39991296,175.32030032
+128,80.0000,40099840,133.46990425
+128,100.0000,39958528,110.58977896
+128,120.0000,40157184,107.94067123
+128,140.0000,39974912,106.78478834
+128,160.0000,40148992,109.01568780
+128,180.0000,40255488,108.95122904
+128,200.0000,40235008,110.49910159
+128,0.0000,59996160,1983.31048452
+128,20.0000,59985920,626.34857548
+128,40.0000,60010496,368.59430691
+128,60.0000,60057600,261.79046116
+128,80.0000,59967488,203.58807089
+128,100.0000,60049408,169.08233531
+128,120.0000,59971584,157.73736227
+128,140.0000,60114944,160.65879173
+128,160.0000,60223488,162.18731759
+128,180.0000,59996160,161.53829468
+128,200.0000,59924480,163.08748512
+256,0.0000,5013504,150.61770745
+256,20.0000,4988928,47.98317123
+256,40.0000,5017600,28.28753389
+256,60.0000,5087232,22.64072721
+256,80.0000,5103616,16.68950179
+256,100.0000,4911104,14.98000289
+256,120.0000,5283840,14.57797348
+256,140.0000,4882432,13.77541610
+256,160.0000,4845568,14.82014057
+256,180.0000,5419008,15.12803483
+256,200.0000,5136384,14.70541008
+256,0.0000,20017152,604.26459415
+256,20.0000,20074496,185.24826468
+256,40.0000,20070400,111.28004115
+256,60.0000,20066304,79.38668143
+256,80.0000,20049920,63.10202060
+256,100.0000,20090880,51.86663441
+256,120.0000,20078592,50.72270412
+256,140.0000,20140032,51.45202403
+256,160.0000,20074496,52.34735768
+256,180.0000,20127744,51.68937072
+256,200.0000,20545536,53.00344362
+256,0.0000,39997440,1204.52354483
+256,20.0000,40030208,375.14825144
+256,40.0000,40140800,223.32498034
+256,60.0000,40132608,159.56046865
+256,80.0000,40099840,125.71707623
+256,100.0000,40181760,100.51217526
+256,120.0000,40157184,100.43270641
+256,140.0000,40280064,100.64522288
+256,160.0000,40148992,102.15382867
+256,180.0000,40255488,101.94711788
+256,200.0000,40235008,102.36566242
+256,0.0000,60014592,1806.82329404
+256,20.0000,59985920,565.52081444
+256,40.0000,60010496,332.29364735
+256,60.0000,60198912,236.76445795
+256,80.0000,60149760,183.21216869
+256,100.0000,60272640,154.06193670
+256,120.0000,60235776,148.90913669
+256,140.0000,60420096,151.22478667
+256,160.0000,60223488,151.85927289
+256,180.0000,60383232,152.24562470
+256,200.0000,59924480,152.63993869
+512,0.0000,5013504,142.09595461
+512,20.0000,4988928,45.24064794
+512,40.0000,5218304,29.34636966
+512,60.0000,5087232,20.44430592
+512,80.0000,5103616,15.39072112
+512,100.0000,5357568,14.58283811
+512,120.0000,5283840,14.51728184
+512,140.0000,4882432,13.60321648
+512,160.0000,5537792,16.47036773
+512,180.0000,4644864,13.15286274
+512,200.0000,5136384,14.70705770
+512,0.0000,20054016,566.64278397
+512,20.0000,19955712,174.11968271
+512,40.0000,20070400,104.98749936
+512,60.0000,20348928,80.52317964
+512,80.0000,20414464,59.20659123
+512,100.0000,20537344,52.24740857
+512,120.0000,20078592,50.66551019
+512,140.0000,20750336,52.65695668
+512,160.0000,20766720,54.27734687
+512,180.0000,20127744,51.96689063
+512,200.0000,20545536,53.21346524
+512,0.0000,40034304,1134.29439142
+512,20.0000,40148992,351.65354999
+512,40.0000,40140800,209.07256858
+512,60.0000,40132608,149.82002952
+512,80.0000,40099840,117.47349995
+512,100.0000,40181760,99.29140941
+512,120.0000,40157184,101.27779663
+512,140.0000,40280064,101.03142272
+512,160.0000,40148992,103.03220728
+512,180.0000,40255488,102.29715694
+512,200.0000,41091072,105.48587357
+512,0.0000,60014592,1696.32639982
+512,20.0000,60104704,529.27331581
+512,40.0000,60211200,314.64102828
+512,60.0000,59916288,223.66156868
+512,80.0000,60514304,176.47865061
+512,100.0000,59826176,147.96574328
+512,120.0000,60235776,148.99800895
+512,140.0000,59809792,150.35958604
+512,160.0000,60915712,154.38932471
+512,180.0000,60383232,152.93542751
+512,200.0000,59924480,153.33085468
+768,0.0000,4976640,138.05957366
+768,20.0000,4988928,43.80197995
+768,40.0000,5419008,29.07043259
+768,60.0000,5087232,19.27982188
+768,80.0000,5468160,16.08743332
+768,100.0000,5357568,16.01418018
+768,120.0000,4755456,14.06591053
+768,140.0000,5492736,16.69580199
+768,160.0000,6230016,19.93580198
+768,180.0000,4644864,13.97463414
+768,200.0000,5136384,15.71393382
+768,0.0000,20017152,553.83572853
+768,20.0000,19955712,172.62163178
+768,40.0000,19869696,101.91389205
+768,60.0000,20348928,76.63824887
+768,80.0000,20779008,61.13391313
+768,100.0000,20090880,56.72575162
+768,120.0000,20606976,57.56462426
+768,140.0000,20140032,57.15497858
+768,160.0000,20766720,60.39994772
+768,180.0000,20901888,59.63909139
+768,200.0000,20545536,59.31450737
+768,0.0000,40034304,1103.31084419
+768,20.0000,39911424,344.38523604
+768,40.0000,40341504,207.67400840
+768,60.0000,39849984,144.23887829
+768,80.0000,40464384,115.13071408
+768,100.0000,40181760,109.97555341
+768,120.0000,39628800,111.02510171
+768,140.0000,40280064,112.91707439
+768,160.0000,41533440,118.18861095
+768,180.0000,39481344,112.19747745
+768,200.0000,41091072,118.19195696
+768,0.0000,60051456,1658.44406107
+768,20.0000,60223488,518.00940045
+768,40.0000,60211200,306.90569389
+768,60.0000,60198912,219.74889785
+768,80.0000,60149760,171.73731088
+768,100.0000,60272640,164.85085667
+768,120.0000,60235776,167.30384060
+768,140.0000,60420096,169.56387362
+768,160.0000,60223488,169.83644005
+768,180.0000,60383232,171.76904069
+768,200.0000,61636608,175.84177408
+1024,0.0000,5013504,139.17866372
+1024,20.0000,5226496,46.12340810
+1024,40.0000,4816896,26.34263359
+1024,60.0000,5652480,21.12095630
+1024,80.0000,5832704,17.06023481
+1024,100.0000,5357568,15.00363730
+1024,120.0000,6340608,17.61010747
+1024,140.0000,4882432,14.72159233
+1024,160.0000,5537792,17.46984375
+1024,180.0000,6193152,17.43620161
+1024,200.0000,6848512,20.07246714
+1024,0.0000,20054016,546.85241362
+1024,20.0000,19955712,171.12057754
+1024,40.0000,20070400,103.01260733
+1024,60.0000,20348928,74.28560303
+1024,80.0000,20414464,58.28307529
+1024,100.0000,19644416,54.09770224
+1024,120.0000,21135360,56.99836811
+1024,140.0000,19529728,53.22264155
+1024,160.0000,19382272,54.60276421
+1024,180.0000,21676032,60.12091201
+1024,200.0000,20545536,57.00698594
+1024,0.0000,40108032,1091.38739473
+1024,20.0000,39911424,338.51258374
+1024,40.0000,40140800,202.00916172
+1024,60.0000,40697856,147.18881304
+1024,80.0000,40828928,114.61059605
+1024,100.0000,41074688,109.31525044
+1024,120.0000,40157184,109.29914385
+1024,140.0000,41500672,112.27782617
+1024,160.0000,41533440,114.43494438
+1024,180.0000,40255488,110.94630659
+1024,200.0000,41091072,114.40834800
+1024,0.0000,60014592,1634.14528740
+1024,20.0000,60342272,512.67767598
+1024,40.0000,60211200,304.16745205
+1024,60.0000,59916288,215.87478906
+1024,80.0000,59785216,169.18394829
+1024,100.0000,60719104,161.63374668
+1024,120.0000,61292544,164.43701924
+1024,140.0000,61030400,165.98778423
+1024,160.0000,60915712,166.81332822
+1024,180.0000,61931520,170.33031230
+1024,200.0000,61636608,170.74171172
diff --git a/results/Affinity/rslts/tEulerC.csv b/results/Affinity/rslts/storage/tEulerC.csv
similarity index 100%
rename from results/Affinity/rslts/tEulerC.csv
rename to results/Affinity/rslts/storage/tEulerC.csv
diff --git a/results/Affinity/rslts/tEulerS.csv b/results/Affinity/rslts/storage/tEulerS.csv
similarity index 100%
rename from results/Affinity/rslts/tEulerS.csv
rename to results/Affinity/rslts/storage/tEulerS.csv
diff --git a/results/Affinity/rslts/tHeatC.csv b/results/Affinity/rslts/storage/tHeatC.csv
similarity index 100%
rename from results/Affinity/rslts/tHeatC.csv
rename to results/Affinity/rslts/storage/tHeatC.csv
diff --git a/results/Affinity/rslts/tHeatS.csv b/results/Affinity/rslts/storage/tHeatS.csv
similarity index 100%
rename from results/Affinity/rslts/tHeatS.csv
rename to results/Affinity/rslts/storage/tHeatS.csv
diff --git a/results/Illustration/twod.py b/results/Illustration/twod.py
deleted file mode 100644
index 2510e5e..0000000
--- a/results/Illustration/twod.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from iglob import *
-
-plt.style.use('classic')
-aniname = "papier"
-ext = ".pdf"
-plt.rcParams['hatch.color'] = 'k'
-
-sz = 80
-szbor = 2/3*sz
-fc = 0
-markerz = '.'
-lww = 2
-
-def savePlot(fh, n, ip=impath):
- plotfile = op.join(ip, aniname + "-" + str(n) + ext)
- fh.tight_layout()
- fh.savefig(plotfile, dpi=200, bbox_inches="tight")
\ No newline at end of file
diff --git a/results/Residual/EulerClassic/gpuAEulerClassic.pdf b/results/Residual/EulerClassic/gpuAEulerClassic.pdf
deleted file mode 100644
index e09aa8a..0000000
Binary files a/results/Residual/EulerClassic/gpuAEulerClassic.pdf and /dev/null differ
diff --git a/results/Residual/EulerClassic/nXEulerClassic.pdf b/results/Residual/EulerClassic/nXEulerClassic.pdf
deleted file mode 100644
index cc39a25..0000000
Binary files a/results/Residual/EulerClassic/nXEulerClassic.pdf and /dev/null differ
diff --git a/results/Residual/EulerClassic/tpbEulerClassic.pdf b/results/Residual/EulerClassic/tpbEulerClassic.pdf
deleted file mode 100644
index 6edfed2..0000000
Binary files a/results/Residual/EulerClassic/tpbEulerClassic.pdf and /dev/null differ
diff --git a/results/Residual/EulerSwept/gpuAEulerSwept.pdf b/results/Residual/EulerSwept/gpuAEulerSwept.pdf
deleted file mode 100644
index da0a1de..0000000
Binary files a/results/Residual/EulerSwept/gpuAEulerSwept.pdf and /dev/null differ
diff --git a/results/Residual/EulerSwept/nXEulerSwept.pdf b/results/Residual/EulerSwept/nXEulerSwept.pdf
deleted file mode 100644
index 36c0276..0000000
Binary files a/results/Residual/EulerSwept/nXEulerSwept.pdf and /dev/null differ
diff --git a/results/Residual/EulerSwept/tpbEulerSwept.pdf b/results/Residual/EulerSwept/tpbEulerSwept.pdf
deleted file mode 100644
index 40a2006..0000000
Binary files a/results/Residual/EulerSwept/tpbEulerSwept.pdf and /dev/null differ
diff --git a/results/Residual/HeatClassic/gpuAHeatClassic.pdf b/results/Residual/HeatClassic/gpuAHeatClassic.pdf
deleted file mode 100644
index 91b0ccc..0000000
Binary files a/results/Residual/HeatClassic/gpuAHeatClassic.pdf and /dev/null differ
diff --git a/results/Residual/HeatClassic/nXHeatClassic.pdf b/results/Residual/HeatClassic/nXHeatClassic.pdf
deleted file mode 100644
index 156c0cb..0000000
Binary files a/results/Residual/HeatClassic/nXHeatClassic.pdf and /dev/null differ
diff --git a/results/Residual/HeatClassic/tpbHeatClassic.pdf b/results/Residual/HeatClassic/tpbHeatClassic.pdf
deleted file mode 100644
index 60aa5b2..0000000
Binary files a/results/Residual/HeatClassic/tpbHeatClassic.pdf and /dev/null differ
diff --git a/results/Residual/HeatSwept/gpuAHeatSwept.pdf b/results/Residual/HeatSwept/gpuAHeatSwept.pdf
deleted file mode 100644
index 76a68fe..0000000
Binary files a/results/Residual/HeatSwept/gpuAHeatSwept.pdf and /dev/null differ
diff --git a/results/Residual/HeatSwept/nXHeatSwept.pdf b/results/Residual/HeatSwept/nXHeatSwept.pdf
deleted file mode 100644
index 2b17531..0000000
Binary files a/results/Residual/HeatSwept/nXHeatSwept.pdf and /dev/null differ
diff --git a/results/Residual/HeatSwept/tpbHeatSwept.pdf b/results/Residual/HeatSwept/tpbHeatSwept.pdf
deleted file mode 100644
index d4661e5..0000000
Binary files a/results/Residual/HeatSwept/tpbHeatSwept.pdf and /dev/null differ
diff --git a/results/tEulerS.csv b/results/tEulerS.csv
deleted file mode 100644
index 7ed72b9..0000000
--- a/results/tEulerS.csv
+++ /dev/null
@@ -1,617 +0,0 @@
-tpb,gpuA,nX,time
-64,20.0000,499200,2702.36179648
-64,20.0000,752640,3486.02045342
-64,20.0000,998400,5129.43396055
-64,20.0000,2503680,9290.56078314
-64,20.0000,4999680,21443.34438550
-64,20.0000,7503360,29186.07892981
-64,20.0000,9999360,37616.82068684
-64,24.0000,499712,2247.72534997
-64,24.0000,753664,3100.62946551
-64,24.0000,999424,4421.95342356
-64,24.0000,2498560,9698.40194362
-64,24.0000,5005312,19278.44521059
-64,24.0000,7503872,28040.80453289
-64,24.0000,10002432,33745.09863644
-64,28.0000,504832,2245.38420539
-64,28.0000,748544,3015.49052337
-64,28.0000,1000960,4284.74923054
-64,28.0000,2498048,9523.48956074
-64,28.0000,5004800,19119.79581255
-64,28.0000,7502848,26868.49675805
-64,28.0000,10000896,36275.19523243
-64,32.0000,506880,2274.31923270
-64,32.0000,755712,3340.28484099
-64,32.0000,1004544,3681.31471583
-64,32.0000,2506752,9230.85657961
-64,32.0000,5004288,18618.96440090
-64,32.0000,7501824,24758.80525739
-64,32.0000,9999360,34029.32771886
-64,36.0000,505856,1825.33341337
-64,36.0000,749056,3073.66263819
-64,36.0000,1001984,3722.18100198
-64,36.0000,2500096,9024.71813073
-64,36.0000,5000192,14735.39539305
-64,36.0000,7500288,23753.14393604
-64,36.0000,10000384,32818.54407721
-64,40.0000,501760,1768.31925533
-64,40.0000,747520,2875.13523938
-64,40.0000,1003520,3613.70215140
-64,40.0000,2498560,8359.67455727
-64,40.0000,5007360,15491.48037139
-64,40.0000,7505920,23044.04528730
-64,40.0000,10004480,30341.56845860
-64,44.0000,505344,1834.27215097
-64,44.0000,752640,2689.91113421
-64,44.0000,999936,3385.99453884
-64,44.0000,2505216,8110.30433710
-64,44.0000,4999680,16345.21764588
-64,44.0000,7504896,22402.29211006
-64,44.0000,9999360,29692.55431952
-64,48.0000,506880,1810.49530012
-64,48.0000,754688,2560.52963525
-64,48.0000,1002496,3527.02916143
-64,48.0000,2500608,7549.45745981
-64,48.0000,5001216,15121.65587262
-64,48.0000,7501824,20826.56852278
-64,48.0000,10002432,27386.18773531
-64,52.0000,506368,1824.90561350
-64,52.0000,753664,2495.79756621
-64,52.0000,1000960,3076.91506893
-64,52.0000,2508288,7286.93746951
-64,52.0000,5004800,14129.10905730
-64,52.0000,7501312,20488.80277402
-64,52.0000,9997824,29310.80728888
-64,56.0000,503808,1736.82348424
-64,56.0000,749568,2505.47186312
-64,56.0000,1007616,3242.19572117
-64,56.0000,2506752,7174.06847562
-64,56.0000,5001216,14809.19021772
-64,56.0000,7507968,20986.17830362
-64,56.0000,10002432,28352.09263986
-64,60.0000,499200,1629.94671628
-64,60.0000,755200,2487.17525566
-64,60.0000,998400,3320.13568080
-64,60.0000,2508800,7026.60331926
-64,60.0000,5004800,13648.24704203
-64,60.0000,7500800,21716.10182975
-64,60.0000,10009600,28025.78339064
-96,20.0000,506880,2544.01712427
-96,20.0000,748800,3410.02276492
-96,20.0000,1002240,4557.59501173
-96,20.0000,2499840,10883.25844871
-96,20.0000,4999680,18828.13817688
-96,20.0000,7499520,29193.75399748
-96,20.0000,9999360,38682.71824386
-96,24.0000,503808,2260.77532011
-96,24.0000,749568,3234.34919119
-96,24.0000,1007616,4467.97990137
-96,24.0000,2506752,9929.44694701
-96,24.0000,5001216,19228.58902623
-96,24.0000,7507968,28743.02556590
-96,24.0000,10002432,34247.42930229
-96,28.0000,509184,2198.43554355
-96,28.0000,757248,3105.31696157
-96,28.0000,1005312,4139.76562402
-96,28.0000,2506752,9408.31449060
-96,28.0000,5000448,17168.53276132
-96,28.0000,7507200,25491.01737520
-96,28.0000,10000896,32066.13914125
-96,32.0000,497664,1910.92041750
-96,32.0000,760320,2928.72992300
-96,32.0000,1009152,4068.28747382
-96,32.0000,2502144,9468.20533228
-96,32.0000,5004288,17230.99724641
-96,32.0000,7506432,24826.84997339
-96,32.0000,10008576,35730.01116987
-96,36.0000,510720,1990.10069408
-96,36.0000,758784,2730.59497750
-96,36.0000,1006848,3366.30110230
-96,36.0000,2509824,8241.53423309
-96,36.0000,5005056,16206.85368303
-96,36.0000,7500288,24738.73065578
-96,36.0000,10010112,32164.41218106
-96,40.0000,506880,2006.26537913
-96,40.0000,752640,2429.17730458
-96,40.0000,998400,3532.22866617
-96,40.0000,2503680,7600.75396725
-96,40.0000,5007360,15551.72767904
-96,40.0000,7511040,22070.52453406
-96,40.0000,9999360,28064.10465449
-96,44.0000,499968,1673.43256966
-96,44.0000,758016,2901.39084534
-96,44.0000,999936,3329.07143803
-96,44.0000,2499840,7245.15378002
-96,44.0000,4999680,15297.37124367
-96,44.0000,7499520,18885.72052121
-96,44.0000,9999360,27639.27059751
-96,48.0000,506880,1617.31994105
-96,48.0000,760320,2297.19298936
-96,48.0000,996864,3064.03424059
-96,48.0000,2500608,8205.64082454
-96,48.0000,5001216,13426.25023117
-96,48.0000,7501824,20178.75222696
-96,48.0000,10002432,27499.46677969
-96,52.0000,512256,1587.60962742
-96,52.0000,759552,2267.82262325
-96,52.0000,1006848,2868.81720263
-96,52.0000,2508288,7466.44743615
-96,52.0000,4998912,13921.66742257
-96,52.0000,7507200,20722.73313053
-96,52.0000,9997824,26382.23459796
-96,56.0000,497664,1542.27160272
-96,56.0000,755712,2383.84844528
-96,56.0000,1013760,2865.11260839
-96,56.0000,2506752,6924.19743254
-96,56.0000,5013504,13925.36781847
-96,56.0000,7501824,20016.22892798
-96,56.0000,10008576,26531.44418247
-96,60.0000,499200,1569.87671341
-96,60.0000,748800,2391.50746474
-96,60.0000,998400,2774.18105139
-96,60.0000,2496000,7318.98241100
-96,60.0000,5011200,13876.51217362
-96,60.0000,7507200,20396.74078188
-96,60.0000,10003200,27069.83165135
-128,20.0000,506880,2339.84425191
-128,20.0000,752640,2994.78795320
-128,20.0000,998400,4375.77825690
-128,20.0000,2503680,10267.47121461
-128,20.0000,5007360,19392.54064882
-128,20.0000,7511040,28653.28148953
-128,20.0000,9999360,37611.09224861
-128,24.0000,507904,2391.00549666
-128,24.0000,753664,2873.45560297
-128,24.0000,999424,4243.75645225
-128,24.0000,2506752,9150.15299642
-128,24.0000,4997120,18958.83703043
-128,24.0000,7503872,26516.55626675
-128,24.0000,10010624,35392.24873696
-128,28.0000,504832,2126.37252278
-128,28.0000,748544,2746.95361417
-128,28.0000,1009664,3945.54613602
-128,28.0000,2506752,9492.09224847
-128,28.0000,4996096,16552.81547989
-128,28.0000,7502848,24398.13268563
-128,28.0000,10009600,34443.37874414
-128,32.0000,497664,1701.38590629
-128,32.0000,755712,2959.21947275
-128,32.0000,1013760,3958.95014443
-128,32.0000,2506752,8970.39538102
-128,32.0000,5013504,15539.72225104
-128,32.0000,7501824,25145.49108252
-128,32.0000,10008576,31751.38540211
-128,36.0000,505856,1700.56397716
-128,36.0000,758784,2841.61980427
-128,36.0000,1011712,3299.25297272
-128,36.0000,2509824,9186.77703492
-128,36.0000,5000192,16167.05451456
-128,36.0000,7510016,22851.31102517
-128,36.0000,10000384,29271.56993084
-128,40.0000,512000,1761.29017084
-128,40.0000,757760,2474.97419043
-128,40.0000,1003520,3388.07761196
-128,40.0000,2498560,7763.78567966
-128,40.0000,4997120,15300.72642934
-128,40.0000,7495680,22888.83427779
-128,40.0000,10014720,27486.73462442
-128,44.0000,516096,1826.17733639
-128,44.0000,752640,2733.75372802
-128,44.0000,1010688,3437.67009557
-128,44.0000,2515968,7486.01266079
-128,44.0000,5010432,13735.53695896
-128,44.0000,7504896,22006.43824680
-128,44.0000,9999360,28871.63464985
-128,48.0000,495616,1501.67114205
-128,48.0000,765952,2449.49604311
-128,48.0000,1013760,3006.50990435
-128,48.0000,2500608,7435.11957782
-128,48.0000,5001216,13803.60463545
-128,48.0000,7501824,20762.38340565
-128,48.0000,10002432,27482.86635393
-128,52.0000,494592,1660.36803571
-128,52.0000,753664,2179.87626554
-128,52.0000,1012736,2941.72822956
-128,52.0000,2496512,7118.79264268
-128,52.0000,5016576,13763.90977511
-128,52.0000,7513088,19998.10610026
-128,52.0000,10009600,27015.87277272
-128,56.0000,516096,1569.98315028
-128,56.0000,761856,2161.24798097
-128,56.0000,1007616,2747.01806761
-128,56.0000,2506752,6899.46304238
-128,56.0000,5013504,13447.07413089
-128,56.0000,7495680,19427.81424002
-128,56.0000,10002432,26622.46254465
-128,60.0000,512000,1471.86006818
-128,60.0000,768000,2228.17636908
-128,60.0000,998400,2789.19272953
-128,60.0000,2508800,7026.50448869
-128,60.0000,5017600,13648.58927471
-128,60.0000,7500800,20417.56675120
-128,60.0000,10009600,27449.63392615
-192,20.0000,506880,2305.50369810
-192,20.0000,760320,2977.94940453
-192,20.0000,1013760,4564.39183345
-192,20.0000,2511360,8873.70115471
-192,20.0000,4999680,19524.56671094
-192,20.0000,7511040,27672.47399167
-192,20.0000,9999360,37471.01068970
-192,24.0000,516096,2239.70087984
-192,24.0000,761856,3374.24998482
-192,24.0000,1007616,4232.57265772
-192,24.0000,2506752,9452.49531004
-192,24.0000,5013504,17293.40774436
-192,24.0000,7495680,26579.83280600
-192,24.0000,10002432,34044.11951464
-192,28.0000,496128,1812.65896748
-192,28.0000,757248,2663.86633591
-192,28.0000,1018368,3938.28199733
-192,28.0000,2506752,7885.16746390
-192,28.0000,5013504,17044.77826281
-192,28.0000,7494144,24525.96779617
-192,28.0000,10000896,31746.03842790
-192,32.0000,497664,1779.26239040
-192,32.0000,746496,2863.71751674
-192,32.0000,995328,3652.96952308
-192,32.0000,2515968,8552.18228840
-192,32.0000,5004288,15484.52332379
-192,32.0000,7520256,21249.19423035
-192,32.0000,10008576,31307.41665761
-192,36.0000,496128,1668.28492804
-192,36.0000,758784,2753.23859283
-192,36.0000,1021440,3309.07514408
-192,36.0000,2509824,8171.21825521
-192,36.0000,5019648,15757.28795595
-192,36.0000,7500288,21351.62351150
-192,36.0000,10010112,30927.86255810
-192,40.0000,522240,1609.91518743
-192,40.0000,768000,2277.33086499
-192,40.0000,1013760,3541.82164347
-192,40.0000,2519040,7485.79139038
-192,40.0000,5007360,13893.30235266
-192,40.0000,7495680,20728.85939999
-192,40.0000,10014720,27319.18975238
-192,44.0000,516096,1881.89059023
-192,44.0000,774144,2387.11363266
-192,44.0000,999936,2913.40650311
-192,44.0000,2515968,7402.83508859
-192,44.0000,4999680,14016.98293667
-192,44.0000,7515648,18823.12452746
-192,44.0000,9999360,25003.12503368
-192,48.0000,506880,1584.99258142
-192,48.0000,743424,2382.80057434
-192,48.0000,1013760,3189.98731081
-192,48.0000,2500608,6753.88815857
-192,48.0000,5001216,13568.08480526
-192,48.0000,7501824,19371.05406135
-192,48.0000,10002432,24784.48413904
-192,52.0000,494592,1418.40895254
-192,52.0000,741888,1938.46006952
-192,52.0000,1024512,2790.23510123
-192,52.0000,2508288,7024.06844449
-192,52.0000,5016576,13458.43727153
-192,52.0000,7524864,20052.78845392
-192,52.0000,9997824,25549.15821741
-192,56.0000,516096,1575.26957374
-192,56.0000,774144,2157.74307412
-192,56.0000,995328,2977.01583495
-192,56.0000,2506752,6940.35466701
-192,56.0000,5013504,13007.16743110
-192,56.0000,7520256,20474.53300347
-192,56.0000,10027008,26258.42356966
-192,60.0000,499200,1513.51833391
-192,60.0000,768000,2119.04984381
-192,60.0000,998400,2735.05580567
-192,60.0000,2496000,6738.64486199
-192,60.0000,4992000,13561.39631262
-192,60.0000,7526400,20232.44714217
-192,60.0000,10022400,26682.27509610
-256,20.0000,522240,2201.57342061
-256,20.0000,768000,3328.42708107
-256,20.0000,1013760,4150.35816176
-256,20.0000,2519040,8938.58282102
-256,20.0000,5007360,17371.07265563
-256,20.0000,7495680,27344.50221298
-256,20.0000,10014720,35606.02706340
-256,24.0000,524288,1928.27506671
-256,24.0000,753664,2713.26534095
-256,24.0000,1015808,3490.10219650
-256,24.0000,2523136,8811.56254382
-256,24.0000,5013504,18051.83255956
-256,24.0000,7503872,25456.74157048
-256,24.0000,9994240,33681.31296029
-256,28.0000,522240,2241.49055661
-256,28.0000,765952,2837.30059626
-256,28.0000,1009664,3636.60887593
-256,28.0000,2506752,8235.39383118
-256,28.0000,5013504,17415.11883244
-256,28.0000,7520256,24803.23884695
-256,28.0000,9992192,32135.73513286
-256,32.0000,516096,1846.70238504
-256,32.0000,774144,2434.02030023
-256,32.0000,995328,3502.94871226
-256,32.0000,2506752,7643.42285101
-256,32.0000,5013504,15630.41391117
-256,32.0000,7520256,22905.91520686
-256,32.0000,10027008,29800.43100459
-256,36.0000,505856,1811.71924822
-256,36.0000,778240,2502.28695453
-256,36.0000,1011712,3386.64408478
-256,36.0000,2490368,7790.62154747
-256,36.0000,5019648,15526.17656333
-256,36.0000,7510016,20652.14331424
-256,36.0000,10000384,29283.86108270
-256,40.0000,491520,1794.40498589
-256,40.0000,778240,2677.00945574
-256,40.0000,1024000,3158.38318969
-256,40.0000,2498560,7084.38071703
-256,40.0000,4997120,13465.52803639
-256,40.0000,7495680,20483.04541007
-256,40.0000,9994240,26909.70460101
-256,44.0000,516096,1763.27007394
-256,44.0000,774144,2306.23095755
-256,44.0000,1032192,3064.23038008
-256,44.0000,2494464,6554.34327939
-256,44.0000,5031936,14118.48438401
-256,44.0000,7526400,19925.01093755
-256,44.0000,10020864,25627.20387701
-256,48.0000,495616,1447.45184789
-256,48.0000,765952,2119.82937559
-256,48.0000,991232,3018.83210029
-256,48.0000,2523136,7338.33505757
-256,48.0000,5001216,13116.06346142
-256,48.0000,7524352,19959.09078017
-256,48.0000,10002432,24681.81253662
-256,52.0000,518144,1345.00595076
-256,52.0000,753664,2130.56524831
-256,52.0000,989184,2752.08777378
-256,52.0000,2496512,6409.87173196
-256,52.0000,4993024,13098.19466301
-256,52.0000,7489536,19660.92457610
-256,52.0000,10033152,25534.59824551
-256,56.0000,491520,1372.67113915
-256,56.0000,786432,2387.78075529
-256,56.0000,1032192,2763.67661972
-256,56.0000,2506752,6536.18101090
-256,56.0000,5013504,13824.53792862
-256,56.0000,7520256,20313.77626080
-256,56.0000,10027008,26310.13148597
-256,60.0000,512000,1439.31303469
-256,60.0000,768000,2220.93399082
-256,60.0000,1024000,2802.69395028
-256,60.0000,2508800,6748.91590126
-256,60.0000,5017600,13604.14656145
-256,60.0000,7526400,20309.30626724
-256,60.0000,10035200,27000.88090367
-384,20.0000,506880,2107.63271465
-384,20.0000,783360,2895.41448272
-384,20.0000,1013760,3741.97769304
-384,20.0000,2534400,9882.51040148
-384,20.0000,5022720,17179.70739732
-384,20.0000,7511040,25677.83015412
-384,20.0000,9999360,34334.75481678
-384,24.0000,491520,2025.26042397
-384,24.0000,786432,2978.66640396
-384,24.0000,1032192,3899.16137900
-384,24.0000,2506752,8918.13878403
-384,24.0000,5013504,17190.77636105
-384,24.0000,7520256,24634.13930910
-384,24.0000,10027008,32570.99510163
-384,28.0000,522240,1796.52500060
-384,28.0000,783360,2885.66178823
-384,28.0000,992256,3253.52323148
-384,28.0000,2506752,7856.28660012
-384,28.0000,5013504,16468.82873173
-384,28.0000,7520256,22428.08529111
-384,28.0000,10027008,30674.38905091
-384,32.0000,497664,1876.01022018
-384,32.0000,774144,2410.23209668
-384,32.0000,995328,3442.80690648
-384,32.0000,2488320,7161.18849525
-384,32.0000,5031936,15276.43359678
-384,32.0000,7520256,22162.79310311
-384,32.0000,10008576,27919.95225951
-384,36.0000,525312,2070.76262134
-384,36.0000,758784,2475.65939907
-384,36.0000,992256,2994.97260604
-384,36.0000,2509824,7131.35486887
-384,36.0000,5019648,14426.01814751
-384,36.0000,7529472,21115.10730298
-384,36.0000,10039296,27743.91080751
-384,40.0000,491520,1505.22404863
-384,40.0000,737280,2584.85343336
-384,40.0000,1044480,3151.02882857
-384,40.0000,2519040,6711.72090048
-384,40.0000,5038080,13957.63173815
-384,40.0000,7495680,20612.32606801
-384,40.0000,10014720,26997.58551380
-384,44.0000,516096,1548.10098484
-384,44.0000,774144,2464.55595475
-384,44.0000,1032192,3397.44690546
-384,44.0000,2515968,7188.84955543
-384,44.0000,5031936,12885.39685251
-384,44.0000,7547904,19670.28395612
-384,44.0000,9999360,25935.65431907
-384,48.0000,540672,1519.06370424
-384,48.0000,743424,2080.23207825
-384,48.0000,1013760,2751.29432133
-384,48.0000,2500608,6347.90939647
-384,48.0000,5001216,12510.25388176
-384,48.0000,7501824,19203.05619868
-384,48.0000,10002432,25339.37817396
-384,52.0000,494592,1343.76332510
-384,52.0000,777216,2108.84496454
-384,52.0000,989184,2572.53999165
-384,52.0000,2543616,6786.57607515
-384,52.0000,5016576,13098.22678797
-384,52.0000,7489536,18858.24275109
-384,52.0000,10033152,25253.63371585
-384,56.0000,516096,1484.23934399
-384,56.0000,737280,2187.13514565
-384,56.0000,1032192,2795.22456171
-384,56.0000,2506752,6666.02394840
-384,56.0000,5013504,13274.17438575
-384,56.0000,7520256,19866.91061147
-384,56.0000,10027008,26134.06639922
-384,60.0000,537600,1511.47629864
-384,60.0000,768000,2135.94838630
-384,60.0000,998400,2748.49683046
-384,60.0000,2534400,7226.59956808
-384,60.0000,4992000,13352.11213707
-384,60.0000,7526400,20192.72213296
-384,60.0000,9984000,26670.66229637
-512,20.0000,491520,1823.53780838
-512,20.0000,737280,2698.03463016
-512,20.0000,1044480,3782.71582304
-512,20.0000,2519040,9285.65522190
-512,20.0000,5038080,18439.21339605
-512,20.0000,7495680,26817.90309725
-512,20.0000,10014720,34285.16653366
-512,24.0000,524288,1904.46822671
-512,24.0000,786432,2953.17725977
-512,24.0000,1048576,3953.94506631
-512,24.0000,2490368,8711.92873456
-512,24.0000,5046272,17901.66721912
-512,24.0000,7536640,24927.12275125
-512,24.0000,10027008,32288.99999522
-512,28.0000,487424,1666.73265630
-512,28.0000,765952,2613.39399731
-512,28.0000,1044480,3281.86963452
-512,28.0000,2506752,8371.05733808
-512,28.0000,5013504,16122.04272533
-512,28.0000,7520256,22494.17232815
-512,28.0000,10027008,29862.44676867
-512,32.0000,516096,1723.15869713
-512,32.0000,737280,2388.60765239
-512,32.0000,1032192,3106.09594453
-512,32.0000,2506752,7399.43503868
-512,32.0000,5013504,15064.61156532
-512,32.0000,7520256,22510.60935669
-512,32.0000,10027008,29147.49999763
-512,36.0000,544768,1690.24564093
-512,36.0000,778240,2631.86014490
-512,36.0000,1011712,3088.61379744
-512,36.0000,2490368,7418.34595101
-512,36.0000,4980736,14776.91699984
-512,36.0000,7548928,22885.04276657
-512,36.0000,10039296,30138.90184229
-512,40.0000,491520,1612.02973686
-512,40.0000,737280,2367.53030913
-512,40.0000,983040,3171.42676795
-512,40.0000,2539520,8156.92526521
-512,40.0000,4997120,15639.93969467
-512,40.0000,7536640,23593.45287550
-512,40.0000,9994240,31282.43063111
-512,44.0000,516096,1708.97337375
-512,44.0000,774144,2654.47364654
-512,44.0000,1032192,3498.02710116
-512,44.0000,2494464,8196.81637222
-512,44.0000,4988928,16370.97407365
-512,44.0000,7483392,24575.14306298
-512,44.0000,10063872,32970.89133412
-512,48.0000,540672,1885.11767192
-512,48.0000,811008,2795.33298453
-512,48.0000,991232,3494.60029975
-512,48.0000,2523136,8615.38940808
-512,48.0000,5046272,17270.48540488
-512,48.0000,7479296,25534.06514926
-512,48.0000,10002432,34123.40965588
-512,52.0000,565248,2031.18281206
-512,52.0000,753664,2685.56078663
-512,52.0000,1036288,3690.20947255
-512,52.0000,2543616,9023.59961765
-512,52.0000,4993024,17661.06300056
-512,52.0000,7536640,26659.13692908
-512,52.0000,9986048,35301.53416796
-512,56.0000,491520,1819.36885929
-512,56.0000,786432,2895.30103328
-512,56.0000,983040,3618.22068226
-512,56.0000,2555904,9342.61572547
-512,56.0000,5013504,18302.54076049
-512,56.0000,7569408,27615.05934177
-512,56.0000,10027008,36571.77026616
-512,60.0000,512000,1955.19626141
-512,60.0000,819200,3094.56762625
-512,60.0000,1024000,3864.25759643
-512,60.0000,2560000,9630.66605618
-512,60.0000,5017600,18832.71773113
-512,60.0000,7475200,28057.51736742
-512,60.0000,10035200,37645.29078035
-768,20.0000,552960,2401.10397113
-768,20.0000,737280,2931.31556475
-768,20.0000,1013760,3506.37852468
-768,20.0000,2488320,8912.93895741
-768,20.0000,5068800,17965.78694925
-768,20.0000,7557120,25937.46877304
-768,20.0000,10045440,34228.45595262
-768,24.0000,491520,1844.27371079
-768,24.0000,786432,2717.41995080
-768,24.0000,983040,3790.03431987
-768,24.0000,2555904,8743.24904924
-768,24.0000,5013504,16544.87097579
-768,24.0000,7569408,24474.77180624
-768,24.0000,10027008,32245.24855614
-768,28.0000,522240,1886.29453381
-768,28.0000,731136,2434.68159302
-768,28.0000,1044480,3406.91220128
-768,28.0000,2506752,8367.47845240
-768,28.0000,5013504,16524.67967660
-768,28.0000,7520256,22463.55920127
-768,28.0000,10027008,31126.25471796
-768,32.0000,552960,1992.89179661
-768,32.0000,774144,2591.28974920
-768,32.0000,995328,2871.56343234
-768,32.0000,2543616,7358.49000965
-768,32.0000,4976640,14799.82720180
-768,32.0000,7520256,21684.70925905
-768,32.0000,10063872,29126.77344725
-768,36.0000,583680,1752.96492649
-768,36.0000,817152,2455.76605878
-768,36.0000,1050624,2984.82952922
-768,36.0000,2568192,6877.36859827
-768,36.0000,5019648,13734.88472944
-768,36.0000,7471104,20466.90717565
-768,36.0000,10039296,26852.06863239
-768,40.0000,491520,1331.49382291
-768,40.0000,737280,2206.34562500
-768,40.0000,983040,2748.50354727
-768,40.0000,2580480,7297.15485464
-768,40.0000,5038080,13657.70427792
-768,40.0000,7495680,19072.01043584
-768,40.0000,10076160,25941.73389177
-768,44.0000,516096,1453.23151215
-768,44.0000,774144,2062.97940829
-768,44.0000,1032192,2884.28716136
-768,44.0000,2580480,6753.54756866
-768,44.0000,5031936,12885.93278238
-768,44.0000,7483392,18609.07148908
-768,44.0000,10063872,25202.96660562
-768,48.0000,540672,1563.63325589
-768,48.0000,811008,2089.02460608
-768,48.0000,1081344,3011.51824268
-768,48.0000,2568192,6308.48860425
-768,48.0000,5001216,12259.09901162
-768,48.0000,7569408,18510.55257474
-768,48.0000,10002432,24275.62805965
-768,52.0000,565248,1456.89347251
-768,52.0000,847872,2192.68729967
-768,52.0000,989184,2658.01037577
-768,52.0000,2543616,6530.24808024
-768,52.0000,5087232,12916.68821465
-768,52.0000,7489536,18852.30754587
-768,52.0000,10033152,25323.86649964
-768,56.0000,589824,1617.65860111
-768,56.0000,737280,2041.13379798
-768,56.0000,1032192,2734.16450981
-768,56.0000,2506752,6703.00260412
-768,56.0000,5013504,13003.08644546
-768,56.0000,7520256,19504.15720542
-768,56.0000,10027008,26001.44888415
-768,60.0000,614400,1654.70599225
-768,60.0000,768000,2142.62571976
-768,60.0000,1075200,2938.99711334
-768,60.0000,2611200,6994.76796118
-768,60.0000,5068800,13503.47556625
-768,60.0000,7526400,20063.69366339
-768,60.0000,9984000,26616.20904550
diff --git a/results/timings.m b/results/timings.m
deleted file mode 100644
index 69e13cf..0000000
--- a/results/timings.m
+++ /dev/null
@@ -1,12 +0,0 @@
-clear
-clc
-close all
-
-notefile = fileread('notes.json');
-jj = jsondecode(notefile);
-fname = fieldnames(jj);
-for k = 1:length(fname)
- f = fname{k}
-end
-
-h5disp('rawResults.h5', strcat('/',fname{end}))
diff --git a/runtools/main_help.py b/runtools/main_help.py
index 8c6d320..cb47291 100644
--- a/runtools/main_help.py
+++ b/runtools/main_help.py
@@ -92,7 +92,6 @@ def saveplot(f, cat, rundetail, titler):
plotname = op.join(plotpath, titler + ".pdf")
f.savefig(plotname, bbox_inches='tight')
-
#Divisions and threads per block need to be lists (even singletons) at least.
def runMPICUDA(exece, nproc, scheme, eqfile, mpiopt="", outdir=" rslts ", eqopt=""):
diff --git a/runtools/timing_analysis.py b/runtools/timing_analysis.py
index b43bd31..0ea205b 100644
--- a/runtools/timing_analysis.py
+++ b/runtools/timing_analysis.py
@@ -106,16 +106,23 @@ def plotRaws(iobj, subax, respvar, nstep):
return figC
-def plotmins(df, axi, sidx, stacker=['nX', 'gpuA']):
+# minmax is either min or max. (Best run is min time and max efficiency)
+# or none if skip it.
+def plotmins(df, axi, sidx, stacker=['nX', 'gpuA'], minmax="min"):
+ if not minmax:
+ return None
+
dff = df.stack(stacker[0])
dfff = dff.unstack(stacker[1])
- mnplace = dfff.idxmin(axis=1)
+ mnplace = dfff.idxmax(axis=1) if minmax=="max" else dfff.idxmin(axis=1)
+
for a, si in zip(axi, sidx):
a.plot(mnplace[si][0], mnplace[si][1], 'r.', markersize=20)
return mnplace
-def contourRaw(df, typs, tytle=None, vals='time', getfig=False):
+#Returns extemis values and locations in mns. Returns figure handle if getFig is true.
+def contourRaw(df, typs, tytle=None, vals='time', getfig=False, minmax="min"):
anno = {'ti':'10000' , 'yl': 'GPU Affinity', 'xl': 'threads per block'}
dfCont = pd.pivot_table(df, values=vals, index='gpuA', columns=['nX', 'tpb'])
fCont, axCont = plt.subplots(2, 2, figsize=boxfigsize)
@@ -131,12 +138,12 @@ def contourRaw(df, typs, tytle=None, vals='time', getfig=False):
if tytle: fCont.suptitle(tytle + " -- " + meas[vals])
- if getfig:
- return dfCont, fCont, axc
-
- mns = plotmins(dfCont, axc, subidx)
+ mns = plotmins(dfCont, axc, subidx, minmax=minmax)
formatSubplot(fCont)
+ if getfig:
+ return fCont, mns
+
saveplot(fCont, "Performance", plotDir, "RawContour"+typs+vals)
plt.close(fCont)
@@ -208,8 +215,6 @@ def saveplot(f, *args):
if titles: fio.suptitle("Best interpolated run vs observation")
perfPath = op.join(resultpath,"Performance")
- mnCoords = pd.DataFrame()
-
axdct = dict(zip(eqs, axio.ravel()))
for ke, ie in collInst.items():
@@ -225,7 +230,7 @@ def saveplot(f, *args):
ists = iss.iFrame.set_index('nX')
iss.efficient()
- mnCoords[typ] = contourRaw(iss.iFrame, typ, tytles)
+ contourRaw(iss.iFrame, typ, tytles)
fRawS = plotRaws(iss, 'tpb', ['time', 'efficiency'], 2)
for rsub, it in fRawS.items():
diff --git a/src/hFinish.sh b/src/shellLaunch/OSU_cluster/hFinish.sh
similarity index 100%
rename from src/hFinish.sh
rename to src/shellLaunch/OSU_cluster/hFinish.sh