|
- #!/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()
|