Pytania otagowane jako multiprocessing

Wieloprocesorowość to wykorzystanie dwóch lub więcej jednostek centralnych (CPU) w ramach jednego systemu komputerowego. Odpowiednie szczegóły implementacji i użytkowania różnią się w zależności od systemu operacyjnego i języka programowania. Dlatego zawsze dodawaj tagi zarówno dla systemu operacyjnego, jak i języka, gdy używasz tego tagu.



6
Co dokładnie robi metoda wieloprocesorowa modułu .join () Pythona?
Poznanie wieloprocesorowości w Pythonie (z artykułu PMOTW ) i chciałbym uzyskać wyjaśnienie, co dokładnie join()robi ta metoda. W starym samouczku z 2008 roku stwierdza się, że bez p.join()wywołania w poniższym kodzie „proces potomny będzie siedział bezczynnie i nie zostanie zakończony, stając się zombie, którego należy ręcznie zabić”. from multiprocessing import …

8
przetwarzanie wieloprocesowe: współdzielenie dużego obiektu tylko do odczytu między procesami?
Czy procesy potomne powstały w wyniku współdzielonych obiektów wieloprocesowych utworzonych wcześniej w programie? Mam następującą konfigurację: do_some_processing(filename): for line in file(filename): if line.split(',')[0] in big_lookup_object: # something here if __name__ == '__main__': big_lookup_object = marshal.load('file.bin') pool = Pool(processes=4) print pool.map(do_some_processing, glob.glob('*.data')) Ładuję duży obiekt do pamięci, a następnie tworzę pulę …

8
Przetwarzanie wieloprocesowe: użyj tqdm, aby wyświetlić pasek postępu
Aby mój kod był bardziej „pythonowy” i szybszy, używam funkcji „multiprocessing” i funkcji map do wysyłania a) funkcji i b) zakresu iteracji. Wszczepione rozwiązanie (tj. Wywołanie tqdm bezpośrednio z zakresu tqdm.tqdm (zakres (0, 30)) nie działa z przetwarzaniem wieloprocesowym (zgodnie z poniższym kodem). Pasek postępu jest wyświetlany od 0 do …

8
Pula procesów Pythona nie jest demoniczna?
Czy byłoby możliwe utworzenie puli Pythona, która nie jest demonem? Chcę, aby pula mogła wywołać funkcję zawierającą inną pulę w środku. Chcę tego, ponieważ procesy demona nie mogą tworzyć procesu. W szczególności spowoduje to błąd: AssertionError: daemonic processes are not allowed to have children Na przykład rozważmy scenariusz, w którym …

6
Jak korzystać z kolejki wieloprocesowej w Pythonie?
Mam wiele problemów ze zrozumieniem, jak kolejka wieloprocesorowa działa w Pythonie i jak ją zaimplementować. Powiedzmy, że mam dwa moduły Pythona, które uzyskują dostęp do danych z udostępnionego pliku, nazwijmy te dwa moduły pisarzem i czytnikiem. Mój plan polega na tym, aby zarówno czytający, jak i piszący umieścili żądania w …

9
Pokazywać postęp wywołania imap_unordered puli wieloprocesorowej Pythona?
Mam skrypt, który pomyślnie wykonuje zestaw zadań z puli wieloprocesorowej z imap_unordered()wywołaniem: p = multiprocessing.Pool() rs = p.imap_unordered(do_work, xrange(num_tasks)) p.close() # No more work p.join() # Wait for completion Jednak mój num_taskswynosi około 250 000, więc join()blokuje główny wątek na około 10 sekund i chciałbym móc stopniowo wyświetlać echo do …

2
Udostępnianie kolejki wyników kilku procesom
Dokumentacja multiprocessingmodułu pokazuje, jak przekazać kolejkę do procesu uruchomionego multiprocessing.Process. Ale jak mogę współużytkować kolejkę z asynchronicznymi procesami roboczymi, od których rozpoczęto apply_async? Nie potrzebuję dynamicznego łączenia ani niczego innego, tylko sposób, aby pracownicy (wielokrotnie) zgłaszali swoje wyniki z powrotem do bazy. import multiprocessing def worker(name, que): que.put("%d is done" …

5
Martwy prosty przykład użycia kolejki wieloprocesowej, puli i blokowania
Próbowałem przeczytać dokumentację pod adresem http://docs.python.org/dev/library/multiprocessing.html, ale wciąż mam problemy z kolejką, pulą i blokowaniem wieloprocesorowym. I na razie udało mi się zbudować poniższy przykład. Jeśli chodzi o kolejkę i pulę, nie jestem pewien, czy dobrze zrozumiałem koncepcję, więc popraw mnie, jeśli się mylę. To, co próbuję osiągnąć, to przetworzyć …

1
Efektywne stosowanie funkcji równolegle do zgrupowanych pand DataFrame
Często muszę zastosować funkcję do grup o bardzo dużych DataFrame(mieszanych typach danych) i chciałbym skorzystać z wielu rdzeni. Mogę utworzyć iterator z grup i użyć modułu wieloprocesorowego, ale nie jest to wydajne, ponieważ każda grupa i wyniki funkcji muszą być marynowane do przesyłania wiadomości między procesami. Czy jest jakiś sposób, …

6
Udostępniaj dużą, tylko do odczytu tablicę numeryczną między procesami wieloprocesowymi
Mam 60 GB SciPy Array (Matrix), które muszę udostępniać między 5+ multiprocessing Processobiektami. Widziałem numpy-sharedmem i przeczytałem tę dyskusję na liście SciPy. Wydaje się, że są dwa podejścia - numpy-sharedmemi używając a multiprocessing.RawArray()oraz mapując NumPy dtypes na ctypes. numpy-sharedmemWydaje się , że jest to właściwy sposób, ale nie widziałem jeszcze …

4
Jak rozwiązać problem „AttributeError: __exit__” w wieloprocesorowości w Pythonie?
Próbowałem przepisać kod odczytujący csv, aby móc go uruchomić na wielu rdzeniach w Pythonie 3.2.2. Próbowałem wykorzystać Poolobiekt multiprocesingu, który zaadaptowałem z przykładów roboczych (i już pracowałem dla mnie przy innej części projektu). Pojawił się komunikat o błędzie, który okazał się trudny do odszyfrowania i rozwiązania problemu. Błąd: Traceback (most …

9
Wieloprocesorowość Django i połączenia z bazami danych
Tło: Pracuję nad projektem, który używa Django z bazą danych Postgres. Używamy również mod_wsgi na wypadek, gdyby miało to znaczenie, ponieważ niektóre z moich wyszukiwań w Internecie wspominały o tym. Po przesłaniu formularza internetowego widok Django uruchamia zadanie, które zajmie znaczną ilość czasu (więcej niż użytkownik chciałby czekać), więc rozpoczynamy …

3
Wieloprocesorowość w Pythonie: zrozumienie logiki stojącej za `chunksize`
Jakie czynniki decydują o optymalnym chunksizeargumencie do takich metod multiprocessing.Pool.map()? .map()Sposób wydaje się użycie dowolnego heurystyczne do domyślnej chunksize (jak opisano poniżej); co motywuje ten wybór i czy istnieje bardziej przemyślane podejście oparte na jakiejś konkretnej sytuacji / konfiguracji? Przykład - powiedz, że jestem: Przechodząc iterabledo .map()tego ma ~ 15 …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.