Usando a NVIDIA GPU Cloud com o Oracle Cloud Infrastructure
A NVIDIA GPU Cloud (NGC) é uma plataforma em nuvem acelerada por GPU otimizada para aprendizado profundo e computação científica. Este tópico fornece uma visão geral de como usar a NGC com a Oracle Cloud Infrastructure.
A NVIDIA disponibiliza no Oracle Cloud Infrastructure uma imagem de Computação personalizada otimizada para as GPUs NVIDIA Tesla Volta e Pascal. A execução de contêineres NGC nesta instância fornece desempenho ideal para jobs de aprendizado profundo.
Antes de Começar
Prepare os seguintes procedimentos:
-
Uma tenancy do Oracle Cloud Infrastructure com uma cota de GPU. Para obter mais informações sobre cotas, consulte Cotas de Computação.
-
Uma rede na nuvem na qual iniciar a instância. Para obter informações sobre como configurar redes na nuvem, consulte Gerenciando VCNs e Sub-redes em VCNs e Sub-redes.
-
Um par de chaves a ser usado para estabelecer conexão com a instância por meio de SSH. Para obter informações sobre a geração de um par de chaves, consulte Managing Key Pairs on Linux Instances.
-
Grupo de segurança e política configurados para o serviço File Storage. Para obter mais informações, consulte Gerenciando Grupos, Gerenciando Domínios de Identidade e Detalhes do Serviço File Storage.
-
Uma chave de API NGC para autenticação no serviço NGC.
Para gerar sua chave de API NGC-
Acesse o site da NGC.
-
Na página Registro da NGC, clique em Obter Chave de API.
-
Clique em Gerar Chave de API e, em seguida, clique em Confirmar para gerar a chave. Se você tiver uma chave de API existente, ela se tornará inválida depois que você gerar uma nova chave.
-
Iniciando uma Instância Baseada na Imagem da NGC
Usando a Console
- Abra a Console. Para as etapas, consulte Fazendo Sign-in pela Primeira Vez.
- Abra o menu de navegação e selecione Compute. Em Compute, selecione Instâncias.
- Selecione um Compartimento no qual você tenha permissão para trabalhar.
- Clique em Criar instância.
-
Informe um nome para a instância. Evite digitar informações confidenciais.
- Na seção Colocação, selecione o Domínio de Disponibilidade no qual você deseja criar a instância.
- Na seção Image and shape:
- No cartão Forma, clique em Alterar forma. Em seguida, proceda da seguinte forma:
-
Para Tipo de instâncias, selecione Máquina virtual ou Máquina Bare metal.
-
Selecione uma forma de GPU para a instância. Para obter mais informações sobre formas de GPU, consulte formas de GPU de máquina virtual e formas de GPU bare metal.
Importante
Para acessar as formas de GPU, sua tenancy deve ter uma cota de GPU. Se sua tenancy não tiver uma cota de GPU, as formas de GPU não estarão na lista de formas. Consulte Antes de Começar para obter mais informações. - Clique em Selecionar forma.
-
-
Para selecionar a imagem NGC, clique em Alterar imagem no cartão Imagem. Em seguida, proceda da seguinte maneira.Importante
Para acessar as imagens do NVIDIA GPU Cloud, sua tenancy deve ter uma cota de GPU e você deve selecionar uma forma de GPU.- Na lista Origem da Imagem, selecione Imagens da Oracle.
- Marque a caixa de seleção ao lado de Imagem da Máquina de Nuvem de GPU NVIDIA.
- Revise e aceite os termos de uso e clique em Selecionar imagem.
- No cartão Forma, clique em Alterar forma. Em seguida, proceda da seguinte forma:
-
Na seção Networking, deixe a opção Selecionar rede virtual da nuvem existente selecionada e selecione o compartimento da rede virtual da nuvem (VCN), a VCN, o compartimento da sub-rede e a sub-rede.
-
Na seção Adicionar chaves SSH, faça upload da parte da chave pública do par de chave que você deseja usar para acesso SSH à instância. Navegue até o arquivo de chaves cujo upload você deseja fazer ou arraste e solte o arquivo na caixa.
-
Clique em Criar.
Agora você deverá ver a instância NGC com o estado Provisionando. Depois que o estado for alterado para Em Execução, você poderá se conectar à instância. Para obter informações gerais sobre como iniciar instâncias de computação, consulte Criando uma Instância.
Consulte os seguintes tópicos para obter as etapas de como acessar e trabalhar com a instância:
- Estabelecendo conexão com uma Instância
- Interrompendo, Iniciando ou Reiniciando uma Instância
- Encerrando uma Instância
Quando você se conectar à instância usando SSH, será solicitado a fornecer a chave de API NGC. Se você fornecer a chave de API no prompt, a instância fará seu log-in automaticamente no registro do contêiner NGC para que você possa executar os contêineres pelo registro. Você pode optar por não fornecer a chave de API no prompt e ainda fazer log-in na instância. Em seguida, você pode fazer log-in posteriormente no registro do contêiner NGC. Consulte Fazendo Log-in no Registro do Contêiner NGC para obter mais informações.
Usando a CLI
O Oracle Cloud Infrastructure fornece uma Interface de Linha de Comando (CLI) que você pode usar para concluir tarefas. Para obter mais informações, consulte Início rápido e Configurando a CLI.
Use o comando launch para criar uma instância, especificando image for sourceType e o OCID da imagem ocid1.image.oc1..aaaaaaaaknl6phck7e3iuii4r4axpwhenw5qtnnsk3tqppajdjzb5nhoma3q em InstanceSourceDetails for LaunchInstanceDetails.
Usando o Serviço File Storage para Armazenamento de Dados Persistente
Você pode usar o serviço File Storage para armazenamento de dados ao trabalhar com NGC. Para obter mais informações, consulte Visão Geral do Serviço File Storage. Consulte as seguintes tarefas para criar e trabalhar com o serviço File Storage:
Usando o Serviço Block Volume para Armazenamento de Dados Persistente
Você pode usar o serviço Block Volume para armazenamento de dados ao trabalhar com NGC. Para obter mais informações, consulte Visão Geral do Serviço Block Volume. Consulte as seguintes tarefas para criar e trabalhar com o serviço Block Volume:
- Criando um Volume em Blocos
- Anexando um Volume em Blocos a uma Instância
- Estabelecendo Conexão com um Serviço Block Volume
Você também pode usar a CLI para gerenciar volumes em blocos; consulte os comandos de volume.
Usando o Object Storage Service para o Serviço Persistent Data Storage
Você pode usar o serviço Object Storage para armazenamento de dados ao trabalhar com a NGC. Para obter mais informações, consulte Visão Geral do Serviço Object Storage. Consulte as seguintes tarefas para criar e trabalhar com o serviço Object Storage:
- Criando um Bucket do Serviço Object Storage
- Maneiras de Acessar o Serviço Object Storage
- Objetos do Serviço Object Storage
- Fazendo Upload de um Objeto do Serviço Object Storage para um Bucket
Você também pode usar a CLI para gerenciar o armazenamento de objetos. Consulte o comando os.
Exemplos de Contêineres em Execução
Primeiro, você precisa fazer log-in no registro do contêiner NGC. Você poderá ignorar esta seção se tiver fornecido a sua chave de API ao fazer log-in na instância por meio do SSH. Se você não forneceu sua chave de API ao estabelecer conexão com sua instância, execute esta etapa.
-
Execute o seguinte comando do Docker:
docker login nvcr.io -
Quando solicitado a fornecer um nome de usuário, digite
$oauthtoken. -
Quando a senha for solicitada, digite sua chave de API NGC.
Neste ponto, você pode executar comandos do Docker e acessar o registro do contêiner NGC pela instância.
Esta amostra demonstra a execução do exemplo MNIST em PyTorch. Este exemplo faz download do conjunto de dados MNIST na Web.
-
Obtenha e execute o contêiner do PyTorch com os seguintes comandos do Docker:
docker pull nvcr.io/nvidia/pytorch:17.10 docker run --gpus all --rm -it nvcr.io/nvidia/pytorch:17.10 -
Execute o exemplo de MNIST com os seguintes comandos:
cd /opt/pytorch/examples/mnist python main.py
Esta amostra demonstra a execução do exemplo MNIST em TensorFlow. Este exemplo faz download do conjunto de dados MNIST na Web.
-
Obtenha e execute o contêiner do TensorFlow com os seguintes comandos do Docker:
docker pull nvcr.io/nvidia/tensorflow:17.10 docker run --gpus all --rm -it nvcr.io/nvidia/tensorflow:17.10 -
Execute o exemplo MNIST_with_summaries com os seguintes comandos:
cd /opt/tensorflow/tensorflow/examples/tutorials/mnist python mnist_with_summaries.py