Questo tutorial mostra come eseguire un'analisi genomica a singola cellula utilizzando Dask, NVIDIA RAPIDS e GPU, che puoi configurare su Dataproc. Puoi configurare Dataproc per eseguire Dask con il relativo programmatore autonomo o con YARN per la gestione delle risorse.
Questo tutorial configura Dataproc con un'istanza JupyterLab ospitata per eseguire un blocco note con un'analisi genomica a cella singola. L'utilizzo di un notebook Jupyter su Dataproc ti consente di combinare le funzionalità interattive di Jupyter con la scalabilità del carico di lavoro abilitata da Dataproc. Con Dataproc puoi fare lo scale out dei carichi di lavoro da una a più macchine, configurabili con tutte le GPU che ti servono.
Questo tutorial è destinato a data scientist e ricercatori. Si parte dal presupposto che hai esperienza con Python e hai una conoscenza di base di quanto segue:
Obiettivi
- Crea un'istanza Dataproc configurata con GPU, JupyterLab e componenti open source.
- Esegui un blocco note su Dataproc.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.
Prima di iniziare
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc API.
prepara l'ambiente
Seleziona una posizione per le 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 livello principale tipo di macchina.--master-accelerator
: il tipo e il numero di GPU sul nodo principale, quattro GPUnvidia-tesla-t4
.--initialization-actions
: i percorsi di 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
: viene passato alle azioni di inizializzazione per configurare il cluster con i driver GPU NVIDIA, lo scheduler autonomo per Dask e la versione RAPIDS21.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 (senza worker).
Accedere al blocco note 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
clara-parabricks/rapids-single-cell-examples
repository e controlla la filialedataproc/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 1M_brain_gpu_analysis_uvm.ipynb Jupyter Notebook.
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 singola cellula su 1 milione di cellule, inclusa l'elaborazione e la visualizzazione dei dati. Per saperne di più, vedi Accelerare l'analisi genomica a cella singola utilizzando RAPIDS.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Elimina singole risorse
- Elimina il cluster Dataproc.
gcloud dataproc clusters delete cluster-name \ --region=region
-
Elimina il bucket:
gcloud storage buckets delete BUCKET_NAME
Passaggi successivi
- Scopri di più su Dataproc.
- Esplora le architetture di riferimento, i diagrammi, i tutorial e le best practice. Consulta il nostro Cloud Architecture Center.