Job operations are not parallelizable
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia eseguendo l’esempio segnalato di multiprocessing.Pool con exec_job, quindi traccia i punti di ingresso solver.submit() e job.get_results() utilizzati da SimulatedBifurcationMachine. Confronta i timestamp di entrambi i worker e identifica dove l’invio o il recupero dei risultati viene serializzato. Il lavoro è completato quando i job indipendenti possono essere inviati ed elaborati contemporaneamente senza il ritardo osservato di diversi minuti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 160
- Fork
- 113
- Merge medio
- 6g 23h
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/azure-quantum-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
-
Export types Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
microsoft/azure-quantum-python#650 · 1 commento ·
-
azure-quantum
Difficoltà 2/5 1-3 ore Idoneità per principianti 20/100
Tutte le issue di microsoft/azure-quantum-python
Issue simili
-
area: harness bug status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Human-Agent-Society/reef#625 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
learningequality/kolibri#15351 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Name consistency Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eellak/triplestore#65 · 1 commento ·