Job operations are not parallelizable
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza ejecutando el ejemplo reportado de multiprocessing.Pool con exec_job y, después, sigue los puntos de entrada solver.submit() y job.get_results() utilizados por SimulatedBifurcationMachine. Compara las marcas de tiempo de ambos workers e identifica dónde se serializa el envío o la recuperación de resultados. Se considera terminado cuando los jobs independientes pueden enviarse y procesarse simultáneamente sin el retraso observado de varios minutos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I'm trying to submit and process results of multiple jobs in parallel but I'm noticing that, in many cases, jobs are submitted sequentially.
import datetime
import imp
from multiprocessing import Pool
from azure.quantum import Workspace
from azure.quantum.optimization import Problem, ProblemType, Term
from azure.quantum.target.toshiba import SimulatedBifurcationMachine
import logging
def create_problem():
problem = Problem('Test_Problem', problem_type=ProblemType.pubo)
problem.add_terms([
Term(c=1, indices=[]),
Term(c=2, indices=[1, 2]),
Term(c=-3, indices=[1, 2]),
Term(c=1, indices=[0, 2])
])
return problem
def exec_job(no):
workspace = Workspace (
resource_id = "<workspace-id>",
location= "<location>"
)
problem = create_problem()
solver = SimulatedBifurcationMachine(workspace, loops=0, timeout=10)
print(str(datetime.datetime.utcnow()), "\t[%d] solver.submit() start" % no)
job = solver.submit(problem)
print(str(datetime.datetime.utcnow()), "\t[%d] job.id=%s" % (no, str(job.id)))
print(str(datetime.datetime.utcnow()), "\t[%d] job.get_results() start" % no)
result = job.get_results()
print(str(datetime.datetime.utcnow()), "\t[%d] job.details=%s" % (no, str(job.details)))
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG)
njobs = 2
with Pool(processes=njobs) as pool:
pool.map(func=exec_job, iterable=range(njobs))
For the above, output is:
2022-04-21 18:40:23.466530 [0] solver.submit() start
2022-04-21 18:40:23.542727 [1] solver.submit() start
2022-04-21 18:40:28.752803 [1] job.id=810bc3bb-c1a2-11ec-baa1-b831b575aea6
2022-04-21 18:40:28.752803 [1] job.get_results() start
..........2022-04-21 18:40:52.826348 [1] job.details={..........}
2022-04-21 18:44:19.108243 [0] job.id=81018a8e-c1a2-11ec-adf4-b831b575aea6
2022-04-21 18:44:19.109211 [0] job.get_results() start
..........2022-04-21 18:44:42.799796 [0] job.details={..............}
You can see that job 1 was submitted and awaited while job 0 hasn't been submitted at the same time and was done 4 mins after the first job.
- Lenguaje dominante
- Python
- Estrellas
- 160
- Forks
- 113
- Merge medio
- 6 d 23 h
- PR fusionados (30 d)
- 1
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/azure-quantum-python
-
Infinite recursion error on deep copy `AzureBackendConfig` due to __getattr__ implementation Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
-
Export types Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
microsoft/azure-quantum-python#650 · 1 comentario ·
-
azure-quantum
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
Todos los issues de microsoft/azure-quantum-python
Issues similares
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Abiertoarea: harness bug status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Human-Agent-Society/reef#625 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
learningequality/kolibri#15351 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Name consistency Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eellak/triplestore#65 · 1 comentario ·