Ce tutoriel vous explique comment exécuter une analyse génomique à une seule cellule à l'aide de Dask, de NVIDIA RAPIDS et de GPU, que vous pouvez configurer sur Dataproc. Vous pouvez configurer Dataproc pour exécuter Dask avec son programmeur autonome ou avec YARN pour la gestion des ressources.
Ce tutoriel configure Dataproc avec une instance JupyterLab hébergée afin d'exécuter un notebook contenant une analyse génomique à une seule cellule. L'utilisation d'un notebook Jupyter sur Dataproc vous permet de combiner les fonctionnalités interactives de Jupyter avec la mise à l'échelle de la charge de travail activée par Dataproc. Avec Dataproc, vous pouvez faire évoluer vos charges de travail d'une seule à plusieurs machines, que vous pouvez configurer avec autant de GPU que nécessaire.
Ce tutoriel s'adresse aux data scientists et aux chercheurs. Il part du principe que vous connaissez Python et que vous maîtrisez les composants de base suivants :
Objectifs
- Créer une instance Dataproc configurée avec des GPU, JupyterLab et des composants Open Source.
- Exécuter un notebook sur Dataproc.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
-
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.
Préparer votre environnement
Sélectionnez un emplacement pour vos ressources.
REGION=REGION
Créer un bucket Cloud Storage
gcloud storage buckets create gs://BUCKET --location=REGION
Copiez les actions d'initialisation suivantes dans votre 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
Créer un cluster Dataproc avec JupyterLab et des composants Open Source
- Créez 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
Le cluster possède les propriétés suivantes :
--region
: région où se trouve votre cluster.--image-version
:2.0-ubuntu18
, version de l'image de cluster--master-machine-type
:n1-standard-32
, type de machine principal.--master-accelerator
: type et nombre de GPU sur le nœud principal, quatre GPUnvidia-tesla-t4
.--initialization-actions
: chemins d'accès Cloud Storage aux scripts d'installation qui installent les pilotes de GPU, Dask, RAPIDS et les dépendances supplémentaires.--initialization-action-timeout
: délai avant expiration des actions d'initialisation.--metadata
: transmis aux actions d'initialisation pour configurer le cluster avec des pilotes de GPU NVIDIA, le programmeur autonome pour Dask et la version RAPIDS21.06
.--optional-components
: configure le cluster avec le composant Jupyter facultatif.--enable-component-gateway
: permet d'accéder aux interfaces utilisateur Web du cluster.--single-node
: configure le cluster en tant que nœud unique (aucun nœud de calcul).
Accéder au notebook Jupyter
- Ouvrez la page Clusters dans la console Google Cloud pour Dataproc.
Ouvrir la page Clusters - Cliquez sur votre cluster, puis sur l'onglet Interfaces Web.
- Cliquez sur JupyterLab.
- Ouvrez un nouveau terminal dans JupyterLab.
Clonez le dépôt
clara-parabricks/rapids-single-cell-examples
et examinez la branchedataproc/multi-gpu
.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
Dans JupyterLab, accédez au dépôt rapids-single-cell-examples/notebooks et ouvrez le notebook Jupyter 1M_brain_gpu_analysis_uvm.ipynb.
Pour supprimer tous les éléments de sortie du notebook, sélectionnez Modifier > Supprimer tous les éléments de sortie.
Lisez les instructions dans les cellules du notebook. Le notebook utilise Dask et RAPIDS sur Dataproc pour vous guider dans un workflow à une seule cellule RNA-seq sur un million de cellules, y compris le traitement et la visualisation des données. Pour en savoir plus, consultez la page Accélérer l'analyse génomique à une seule cellule à l'aide de RAPIDS.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
- 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.
Supprimer des ressources individuelles
- Supprimez votre cluster Dataproc.
gcloud dataproc clusters delete cluster-name \ --region=region
-
Supprimez le bucket :
gcloud storage buckets delete BUCKET_NAME
Étape suivante
- En savoir plus sur Dataproc
- Explorez des architectures de référence, des schémas, des tutoriels et des bonnes pratiques. Consultez notre Centre d'architecture cloud.