Questo tutorial mostra come eseguire un'analisi genomica a cella singola utilizzando Dask, NVIDIA RAPIDS e GPU, che puoi configurare su Dataproc. Puoi configurare Dataproc per eseguire Dask con il suo scheduler autonomo o con YARN per la gestione delle risorse.
Questo tutorial configura Dataproc con un'istanza JupyterLab ospitata per eseguire un notebook con un'analisi genomica a cella singola. L'utilizzo di un notebook Jupyter su Dataproc consente di combinare le funzionalità interattive di Jupyter con lo scaling del carico di lavoro abilitato da Dataproc. Con Dataproc, puoi scalare i tuoi workload da una a più macchine, che puoi configurare con tutte le GPU di cui hai bisogno.
Questo tutorial è rivolto a data scientist e ricercatori. Presuppone che tu abbia esperienza con Python e una conoscenza di base di quanto segue:
prepara l'ambiente
Seleziona una posizione per le tue risorse.
REGION=REGION
Creare un bucket Cloud Storage.
gcloud storage buckets create gs://BUCKET --location=REGION
Copia le seguenti azioni di inizializzazione nel tuo bucket.
SCRIPT_BUCKET=gs://goog-dataproc-initialization-actions-REGION gcloud storage cp ${SCRIPT_BUCKET}/gpu/install_gpu_driver.sh BUCKET/gpu/install_gpu_driver.sh gcloud storage cp ${SCRIPT_BUCKET}/dask/dask.sh BUCKET/dask/dask.sh gcloud storage cp ${SCRIPT_BUCKET}/rapids/rapids.sh BUCKET/rapids/rapids.sh gcloud storage cp ${SCRIPT_BUCKET}/python/pip-install.sh BUCKET/python/pip-install.sh
Crea un cluster Dataproc con JupyterLab e componenti open source
- Crea un cluster Dataproc.
gcloud dataproc clusters create CLUSTER_NAME \ --region REGION \ --image-version 2.0-ubuntu18 \ --master-machine-type n1-standard-32 \ --master-accelerator type=nvidia-tesla-t4,count=4 \ --initialization-actions BUCKET/gpu/install_gpu_driver.sh,BUCKET/dask/dask.sh,BUCKET/rapids/rapids.sh,BUCKET/python/pip-install.sh \ --initialization-action-timeout=60m \ --metadata gpu-driver-provider=NVIDIA,dask-runtime=yarn,rapids-runtime=DASK,rapids-version=21.06,PIP_PACKAGES="scanpy==1.8.1,wget" \ --optional-components JUPYTER \ --enable-component-gateway \ --single-node
Il cluster ha le seguenti proprietà:
--region
: la regione in cui si trova il cluster.--image-version
:2.0-ubuntu18
, la versione dell'immagine del cluster--master-machine-type
:n1-standard-32
, il tipo di macchina principale.--master-accelerator
: il tipo e il numero di GPU sul nodo principale, quattro GPUnvidia-tesla-t4
.--initialization-actions
: i percorsi Cloud Storage agli script di installazione che installano i driver GPU, Dask, RAPIDS e dipendenze aggiuntive.--initialization-action-timeout
: il timeout per le azioni di inizializzazione.--metadata
: passato alle azioni di inizializzazione per configurare il cluster con i driver GPU NVIDIA, lo scheduler autonomo per Dask e RAPIDS versione21.06
.--optional-components
: configura il cluster con il componente facoltativo Jupyter.--enable-component-gateway
: consente l'accesso alle UI web sul cluster.--single-node
: configura il cluster come un singolo nodo (nessun worker).
Accedere al notebook Jupyter
- Apri la pagina Cluster nella console Google Cloud di Dataproc.
Apri la pagina Cluster - Fai clic sul cluster e poi sulla scheda Interfacce web.
- Fai clic su JupyterLab.
- Apri un nuovo terminale in JupyterLab.
Clona il
clara-parabricks/rapids-single-cell-examples
repository e controlla il branchdataproc/multi-gpu
.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
In JupyterLab, vai al repository rapids-single-cell-examples/notebooks e apri il notebook Jupyter 1M_brain_gpu_analysis_uvm.ipynb.
Per cancellare tutti gli output nel notebook, seleziona Modifica > Cancella tutti gli output.
Leggi le istruzioni nelle celle del notebook. Il notebook utilizza Dask e RAPIDS su Dataproc per guidarti attraverso un flusso di lavoro RNA-seq a cella singola su 1 milione di cellule, inclusa l'elaborazione e la visualizzazione dei dati. Per saperne di più, consulta Accelerating Single Cell Genomic Analysis using RAPIDS.