How should we use pyjulia in parallel?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by reviewing the decorator and the Parallel(..., mmap_mode="w+") example in the issue, then compare it with the linked test.py example. Decide whether per-process loading and memmapping should be supported or documented, and record the agreed parallel-usage guidance as done.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I want to propose a discussion about how pyjulia should be used in parallel computing.
I recently found a way that seems rather stable:
- we should make sure that code is loaded only once per each process
- we should use
w+mode formemmapping
Here is a mini snippet with a decorator that could be added to pyjulia to ensure point 1.
For point 2, instead, joblib has an option in Parallel. Should we may explicit this in the documentation?
def julia_import(module: str, filename: str):
def decorator(fn):
def wrapper(*args, **kwargs):
# including stuffs
from julia import Main
if not hasattr(Main, module):
Main.include(filename)
return fn(Main, *args, **kwargs)
return wrapper
return decorator
@julia_import("MyModule", "lib.jl")
def python_function_using_julia(Main, *args, **kwargs):
return Main.MyModule.julia_function(*args, **kwargs)
res = Parallel(n_jobs=-1, mmap_mode="w+")(
delayed(python_function_using_julia)(arr) for arr in tqdm(data))
Example from: https://github.com/00sapo/pyjulia-vs-juliacall/blob/master/test.py
- Lingua principale
- Python
- Stelle
- 893
- Fork
- 101
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 JuliaPy/pyjulia
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Kill existing Julia sessionAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di JuliaPy/pyjulia
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aws-samples/sample-per-model-bedrock#191 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs viewer: inverted grey colormap, Phantom CT window -20 to 35 HU, smoothing up to 40 mmForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea: docs enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
PyTomography/PyTomography#331 ·
I maintainer di solito rispondono entro 1 giorno
-
effort: low prio: low ready
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
digitalfabrik/integreat-cms#4616 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
FuRongJun-1999/dsh-memory#226 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug difficulty:2 good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
MakazhanAlpamys/Soup#1865 ·
I maintainer di solito rispondono entro 1 giorno