| @@ -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() | |||