|
|
@@ -0,0 +1,77 @@ |
|
|
|
#!/usr/bin/env python3 |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
""" |
|
|
|
Draw data size v.s. chunksize. |
|
|
|
Created on Mon Oct 8 12:00:45 2018 |
|
|
|
|
|
|
|
@author: ljia |
|
|
|
""" |
|
|
|
import numpy as np |
|
|
|
import matplotlib.pyplot as plt |
|
|
|
|
|
|
|
def loadmin(file): |
|
|
|
result = np.load(file) |
|
|
|
return np.argmin(result), np.min(result), result |
|
|
|
|
|
|
|
def idx2chunksize(idx): |
|
|
|
if idx < 9: |
|
|
|
return idx * 10 + 10 |
|
|
|
elif idx < 18: |
|
|
|
return (idx - 8) * 100 |
|
|
|
elif idx < 27: |
|
|
|
return (idx - 17) * 1000 |
|
|
|
else: |
|
|
|
return (idx - 26) * 10000 |
|
|
|
|
|
|
|
def idx2chunksize2(idx): |
|
|
|
if idx < 5: |
|
|
|
return idx * 20 + 10 |
|
|
|
elif idx < 10: |
|
|
|
return (idx - 5) * 200 + 100 |
|
|
|
elif idx < 15: |
|
|
|
return (idx - 10) * 2000 + 1000 |
|
|
|
else: |
|
|
|
return (idx - 15) * 20000 * 10000 |
|
|
|
|
|
|
|
idx, mrlt, rlt = loadmin('../test_parallel/myria/ENZYMES.npy') |
|
|
|
csize = idx2chunksize2(idx) |
|
|
|
|
|
|
|
#dsize = np.array([183, 150, 68, 94, 188, 2250, 600]) |
|
|
|
dsize = np.array([183, 150, 68, 94, 188, 2250]) |
|
|
|
dsize = dsize * (dsize + 1) / 2 |
|
|
|
#cs_sp_laptop = [900, 400, 70, 900, 2000, 8000, 300] |
|
|
|
#cs_sp_myria = [900, 500, 500, 300, 400, 4000, 300] |
|
|
|
cs_sp_laptop = [900, 400, 70, 900, 2000, 8000] |
|
|
|
cs_sp_myria = [900, 500, 500, 300, 400, 4000] |
|
|
|
cd_ssp_laptop = [500, 700, 500, 70, 3000, 3000] |
|
|
|
cd_ssp_myria = [100, 90, 700, 30, 3000, 5000] |
|
|
|
|
|
|
|
cs_sp_laptop = [x for _, x in sorted(zip(dsize, cs_sp_laptop))] |
|
|
|
cs_sp_myria = [x for _, x in sorted(zip(dsize, cs_sp_myria))] |
|
|
|
cd_ssp_laptop = [x for _, x in sorted(zip(dsize[0:6], cd_ssp_laptop))] |
|
|
|
cd_ssp_myria = [x for _, x in sorted(zip(dsize[0:6], cd_ssp_myria))] |
|
|
|
dsize.sort() |
|
|
|
cd_mean = np.mean([cs_sp_laptop[0:6], cs_sp_myria[0:6], cd_ssp_laptop, cd_ssp_myria], |
|
|
|
axis=0) |
|
|
|
#np.append(cd_mean, [6000]) |
|
|
|
|
|
|
|
fig, ax = plt.subplots() |
|
|
|
##p1 = ax.plot(dsize, cs_sp_laptop, 'o-', label='sp laptop') |
|
|
|
#p2 = ax.plot(dsize, cs_sp_myria, 'o-', label='sp CRIANN') |
|
|
|
##p3 = ax.plot(dsize[0:6], cd_ssp_laptop, 'o-', label='ssp laptop') |
|
|
|
#p4 = ax.plot(dsize[0:6], cd_ssp_myria, 'o-', label='ssp CRIANN') |
|
|
|
#p5 = ax.plot(dsize[0:6], cd_mean, 'o-', label='mean') |
|
|
|
|
|
|
|
#p1 = ax.plot(dsize[0:5], cs_sp_laptop[0:5], 'o-', label='sp laptop') |
|
|
|
p2 = ax.plot(dsize[0:5], cs_sp_myria[0:5], 'o-', label='sp CRIANN') |
|
|
|
#p3 = ax.plot(dsize[0:5], cd_ssp_laptop[0:5], 'o-', label='ssp laptop') |
|
|
|
p4 = ax.plot(dsize[0:5], cd_ssp_myria[0:5], 'o-', label='ssp CRIANN') |
|
|
|
p5 = ax.plot(dsize[0:5], cd_mean[0:5], 'o-', label='mean') |
|
|
|
|
|
|
|
|
|
|
|
#ax.set_xscale('log', nonposx='clip') |
|
|
|
#ax.set_yscale('log', nonposy='clip') |
|
|
|
ax.set_xlabel('data sizes') |
|
|
|
ax.set_ylabel('chunksizes for the fastest computation') |
|
|
|
ax.legend(loc='upper left') |
|
|
|
plt.show() |