Avaliar a aceleração da GPU para modelos financeiros

Pools com GPU podem acelerar modelos financeiros que realizam trabalho numérico paralelo suficiente para compensar os custos de transferência e inicialização de dados. Um modelo não beneficia de uma GPU apenas porque os seus testes de simulação correm de forma independente. Faz o perfil do cálculo antes de mudares o pool.

Identificar um cálculo adequado

Uma GPU tem mais probabilidade de ajudar quando o modelo:

  • Aplica as mesmas operações numéricas em grandes arrays de cenários ou caminhos.
  • Tem trabalho suficiente por tarefa para manter a GPU ocupada.
  • Transfere uma pequena quantidade de dados em comparação com a quantidade de cálculo.
  • Utiliza uma framework ou implementação que já suporta o runtime da GPU alvo.

Um pool de CPU pode ser mais eficiente quando as tarefas são curtas, ramificam bastante, transferem grandes conjuntos de dados ou passam a maior parte do tempo a ler armazenamento.

Comparar configurações

Use a mesma versão do modelo, entrada, contagem de partições e critérios de validação para cada benchmark. Comparar:

  • Alocação do pool e tempo de inicialização dos nós.
  • Tempo de inicialização do modelo e do driver.
  • Duração da tarefa e capacidade de rendimento.
  • Taxas de reprovação e de repetição.
  • Custo total da VM por execução concluída e validada.

Comece com um pequeno conjunto e confirme os resultados numéricos face à implementação na CPU. Diferentes bibliotecas de hardware ou numéricas podem produzir pequenas diferenças em ponto flutuante, por isso defina tolerâncias aceitáveis antes de testar.

Prepare um pool de GPUs

Use um tamanho de VM suportado para GPU e uma imagem que forneça os drivers NVIDIA necessários. Escolha uma imagem pré-configurada do Azure Marketplace ou instale os drivers numa imagem personalizada. Não reutilize nomes de imagens, versões de controladores ou versões do CUDA de exemplos mais antigos sem validar o suporte atual.

Para requisitos e exemplos atuais de pool, veja Usar tamanhos de VM habilitados por GPU num pool Batch.

As VMs de GPU podem ter capacidade regional limitada e requisitos de quotas separados. Reveja o planeamento da capacidade dos lotes antes de agendar uma execução de produção.

Passo seguinte