import os from benchmarker import Benchmarker os.chdir("../..") config_gen_file_64 = os.path.abspath("./tests/performance/conf_gen_64.ini") config_conn_file_64 = os.path.abspath("./tests/performance/conf_conn_64.ini") GEN_CONFIG_FILES = [config_gen_file_64] CONN_CONFIG_FILES = [config_conn_file_64] index_1 = 0 index_8 = 0 """ Esta etapa tarda mucho tiempo y no es muy independiente de la generación de medios. Si se generan medios con los parámetros dados: [Iterables] p=[10,39,15] seeds=[5462,2] lc=[4] connectivity=[1,2,3] variances=[1] Se generan 90 medios: 15 (p[2]) * 2 (seeds[1]) * 3 (len(connectivity)) * 1 (len(lc)) Pero si se toman esos medios generados y se aplica solo la etapa de conectividad Se calcula la conectividad sobre 6 medios: 2 (seeds[1]) * 3 (len(connectivity)) * 1 (len(variances))* 1 (len(lc)) Solucion: marcar en la etapa de generacion binary = yes -> esta bien esto? """ with Benchmarker() as bench: for i in range(len(CONN_CONFIG_FILES)): size = 2 ** (6 + i) @bench(f"Connectivity 1 core with size {size}") def _(bm): global index_1 os.system( f"CONFIG_FILE_PATH={GEN_CONFIG_FILES[index_1]} TEST=True mpirun -oversubscribe -np 1 python3 mpirunner.py" ) with bm: os.system( f"CONFIG_FILE_PATH={CONN_CONFIG_FILES[index_1]} TEST=True mpirun -oversubscribe -np 1 python3 mpirunner.py" ) ## teardown os.system("rm -rf ./tests/performance/tmp_gen_output") index_1 += 1 @bench(f"Connectivity 8 core with size {size}") def _(bm): global index_8 os.system( f"CONFIG_FILE_PATH={GEN_CONFIG_FILES[index_8]} TEST=True mpirun -oversubscribe -np 8 python3 mpirunner.py" ) with bm: os.system( f"CONFIG_FILE_PATH={CONN_CONFIG_FILES[index_8]} TEST=True mpirun -oversubscribe -np 8 python3 mpirunner.py" ) ## teardown os.system("rm -rf ./tests/performance/tmp_gen_output") index_8 += 1