我已经配置了一个在具有单个 GPU 的 g4dn.xlarge 实例上运行的 ECS 服务。在任务定义中,我指定了使用一个 GPU 的容器定义资源要求,如下所示:
"resourceRequirements": [
{
"type":"GPU",
"value": "1"
}
]
Run Code Online (Sandbox Code Playgroud)
在此实例上运行一项任务和一个容器效果很好。当我将服务的所需任务计数设置为 2 时,我在服务上收到一个事件,其中指出:
服务无法放置任务,因为没有容器实例满足其所有要求。最接近的匹配容器实例没有足够的可用 GPU 资源。
根据AWS 文档:
Amazon ECS 将调度可用的支持 GPU 的容器实例,并将物理 GPU 固定到适当的容器,以获得最佳性能。
是否有任何方法可以覆盖此默认行为并强制 ECS 允许多个容器实例共享单个 GPU?
我不相信我们会遇到共享性能问题,因为我们计划使用每个容器进行 H264 编码 (nvenc),这不是 CUDA。如果有人可以指导我查看有关共享 GPU 的容器上的 CUDA 性能的文档,我也将不胜感激。
在我的 csproj 中,我有一个预构建事件,我在其中运行 Vue js 项目的构建。它输出到“dist”文件夹,并由 cshtml 文件加载。
在 csproj 文件中,我有一个对 dist 文件夹的引用,我告诉它复制到发布目录:
<ItemGroup>
<Content Include="dist\**" CopyToPublishDirectory="Always" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在发布时,MsBuild 似乎试图复制在预构建事件开始之前存在的 dist 文件夹中的文件。有没有办法让 MsBuild 在预构建事件之后复制文件夹的内容?