Neste tutorial, mostramos como executar uma análise genômica de célula única usando Dask, NVIDIA RAPIDS e GPUs, que podem ser configuradas no Dataproc. É possível configurar o Dataproc para executar o Dask com o programador autônomo ou com o YARN para gerenciamento de recursos.
Neste tutorial, o Dataproc é configurado com uma instância hospedada do JupyterLab para executar um notebook com análise genômica de célula única. O uso de um notebook do Jupyter no Dataproc permite combinar os recursos interativos do Jupyter com o escalonamento de carga de trabalho permitido pelo Dataproc. Com o Dataproc, é possível escalonar suas cargas de trabalho de uma para várias máquinas, que você pode configurar com quantas GPUs precisar.
Este tutorial é destinado a cientistas e pesquisadores de dados. Ele pressupõe que você tenha experiência com Python e tenha conhecimento básico dos seguintes tópicos:
Preparar o ambiente
Selecione um local para seus recursos.
REGION=REGION
Criar um bucket do Cloud Storage.
gcloud storage buckets create gs://BUCKET --location=REGION
Copie as seguintes ações de inicialização para o 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
Criar um cluster do Dataproc com o JupyterLab e componentes de código aberto
- Crie um cluster do 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
O cluster tem as seguintes propriedades:
--region
: a região em que o cluster está localizado.--image-version
:2.0-ubuntu18
, a versão de imagem do cluster.--master-machine-type
:n1-standard-32
, o tipo de máquina principal.--master-accelerator
: o tipo e a contagem de GPUs no nó principal, quatro GPUsnvidia-tesla-t4
.--initialization-actions
: os caminhos do Cloud Storage para os scripts de instalação que instalam drivers de GPU, Dask, RAPIDS e dependências extras.--initialization-action-timeout
: o tempo limite das ações de inicialização.--metadata
: transmitido para as ações de inicialização para configurar o cluster com drivers de GPU NVIDIA, o programador autônomo do Dask e a versão RAPIDS21.06
.--optional-components
: configura o cluster com o componente opcional Jupyter.--enable-component-gateway
: permite o acesso a IUs da Web no cluster.--single-node
: configura o cluster como um único nó (sem workers).
Acessar o Jupyter Notebook
- Abra a página Clusters no console do Dataproc Google Cloud .
Abrir a página "Clusters" - Clique no cluster e na guia Interfaces da Web.
- Clique em JupyterLab.
- Abra um novo terminal no JupyterLab.
Clone o repositório
clara-parabricks/rapids-single-cell-examples
e confira a ramificaçãodataproc/multi-gpu
.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
No JupyterLab, acesse o repositório rapids-single-cell-examples/notebooks e abra o notebook do Jupyter 1M_brain_gpu_analysis_uvm.ipynb.
Para limpar todas as saídas no notebook, selecione Editar > Limpar todas as saídas.
Leia as instruções nas células do notebook. O notebook usa oDask e RAPIDS no Dataproc para orientar você em um fluxo de trabalho de RNA-seq de célula única em 1 milhão de células, incluindo o processamento e a visualização de dados. Para saber mais, consulte Aceleração da análise genômica de célula única usando RAPIDS.