关于如何利用GPU的元流说明

时间:2020-07-07 08:56:21

标签: amazon-web-services gpu aws-batch metaflow

客观

了解如何在Metaflow中利用GPU。

背景

Documentation / Explanation on how to use GPU #250中一样,关于如何使用GPU的讨论也很多。

看起来@resources(GPU=2)是在分配GPU之后,但是有一些讨论说明带有GPU的AWS EC2实例类型,例如P或G实例,以及AMI的类型。

据我所知,Metaflow使用使用ECS / Docker的AWS批处理。然后,docker实例需要在docker容器(NVIDIA Container Toolkit)内使用GPU驱动程序才能访问GPU。

因此,目前尚不清楚Metaflow如何管理GPU,以及使用GPU所需的先决条件,配置和编码。

问题

  1. 我们是否需要使用特定的AMI,在其中已在EC2实例(码头工人主机)级别预配置了GPU驱动程序?
  2. 我们是否需要在GPU上使用特定的EC2类型(P3,P4,G3,G4,INF1)?还是Metaflow使用服务,例如即使Batch / ECS EC2实例不具有GPU,AWS Elastic Inference仍可动态分配GPU?
  3. Metaflow是在将GPU驱动程序安装在Docker容器中后还是在内部使用NVIDIA Container Toolkit进行查找?
  4. @resource是我们使用Python代码使用GPU所需要的吗?

1 个答案:

答案 0 :(得分:1)

要在Metaflow中使用GPU。

  1. 需要已安装NVIDIA驱动程序的DL AMI或自定义AMI。使用AWS DL AMI。
  2. 确保AWS批处理在计算环境配置中具有EC2 p2 / p3实例。
  3. Metaflow不照顾GPU驱动程序和库,但metaflow configure aws允许使用哪个Docker映像。指定已安装NVIDIA驱动程序和CUDA的Docker映像(ECR存储库)。使用AWS深度学习容器。
  4. 使用@Batch和specif GPU属性。

Github问题中的详细信息。