You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simulacion-permeabilidad/tests/performance/connectivity.py

65 lines
2.1 KiB
Python

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