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 sobre como usar a NGC com o Oracle Cloud Infrastructure.
A NVIDIA disponibiliza no Oracle Cloud Infrastructure uma imagem do serviço Compute 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 as seguintes coisas:
-
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 a configuração de redes na nuvem, consulte Gerenciando VCNs e Subnets em VCNs e Subnets.
-
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 Identidades 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 ver as etapas, consulte Acessando pela Primeira vez.
- Abra o menu de navegação e selecione Computação. Em Compute, selecione Instâncias.
- Escolha 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 Imagem e forma:
- No cartão Forma, clique em Alterar forma. Em seguida, proceda da seguinte forma:
-
Em Tipo de instância, 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 Iniciar para obter mais informações. - Clique em Selecionar forma.
-
-
Para selecionar a imagem NGC, no cartão Imagem, clique em Alterar 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 do NVIDIA GPU Cloud Machine.
- 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 marcada a opção Selecionar rede virtual na nuvem existente e depois selecione o compartimento de rede virtual na nuvem (VCN), a VCN, o compartimento de sub-rede e a sub-rede.
-
Na seção Adicionar chaves SSH:, faça upload da parte da chave pública do par de chaves 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 muda para Em Execução, você pode estabelecer conexão com a 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 CLI (Command Line Interface - Interface de Linha de Comando) que você pode usar para concluir as tarefas. Para obter mais informações, consulte Início rápido e Configurando a CLI.
Use o comando de inicialização para criar uma instância, especificando uma imagem para o sourceType e o OCID da imagem ocid1.image.oc1..aaaaaaaaknl6phck7e3iuii4r4axpwhenw5qtnnsk3tqppajdjzb5nhoma3q
em InstanceSourceDetails para 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 tarefas a seguir 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
- Conexão com um Volume em Blocos
Você também pode usar a CLI para gerenciar volumes em blocos; consulte os comandos de volume.
Usando o Object Storage Service for Persistent Data Storage
Você pode usar o serviço Object Storage para armazenamento de dados ao trabalhar com NGC. Para obter mais informações, consulte Visão Geral do Serviço Object Storage. Consulte as tarefas a seguir para criar e trabalhar com o serviço Object Storage:
- Criando um Bucket de Armazenamento de Objetos
- Maneiras de Acessar o Serviço Object Storage
- Objetos do 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