LSF实践专题(35):如何使用MIG GPU资源

随着人工智能领域的快速发展,对于GPU性能的需求数量不断增加,需求的类型也不断增多。

NVIDIA推出的MIG结构(Multi-Instance GPU)可以将GPU进行划分,再分配给不同的应用或者用户来使用,以达到更细致的资源利用。相比于之前的以时间片进行划分的vGPU,MIG更加灵活高效。

MIG的原理是根据GPU的特性,将每张GPU卡的计算能力平均分成7份,将显存平均分成8份,然后由这些基本单元组成不同大小的GI(GPU Instance)。以NVIDIA A100为例,显存的大小为40G,最小显存单元就是5G(40G/8)。

我们可以根据需要,以这些最小运算单元为基础创建不同大小的MIG device,比如创建7个最小单元的GI,或者以每2个、3个、4个、7个最小单元为大小创建MIG device。这个大小不是随意创建的,NVIDIA 给出了可以允许的组合列表。以NVIDIA A100 GPU为例,下图是NVIDIA官方文档中给出的所有可以创建的组合类型:

图片

如图所示,我们可以在每张A100 GPU上创建一个7个单元的MIG device,也可以同时创建一个4个单元和一个3个单元的MIG device,或者一个4个单元加一个2单元和一个1单元,等等。

如果是一个单元的MIG device,就拥有5G显存。类似的,两个单元是10G,4个单元和3个单元都是20G,7个单元的MIG则拥有全部40G显存。

由于运算单元和显存单元的数量不一致,会导致有些组合无法创建,可以参考下图:

图片

当划分好了MIG device后,还可以进一步将每个GI里的算力根据最小计算单元进行划分,分配给不同的应用,每一个划分称为一个CI(Compute Instance)。例如,一个3个单元的GI,可以划分为3个相同的CI,或者划分为一个2个单元的CI和一个1个单元的CI。

LSF最新版本能很好地支持MIG GPU device的调度。在装有支持MIG的GPU卡的机器上,可以通过lshosts -gpu -mig看到当前GPU的MIG划分情况。

图片

在执行作业的时候,LSF可以根据用户的需求对GPU上的MIG进行重新划分和绑定。

在提交作业的时候,通过bsub -gpu参数中的mig选项,可以指定作业使用的GI和CI大小。例如:

图片

上图中的mig=4/4表示,作业想要得到一个4个单元的GI,并且创建一个4个单元的CI给这个作业,也就是将这个4单元的MIG device完全分配给这个作业使用。当作业执行起来以后,我们通过bjobs -l -gpu可以看到作业分配到的GPU:

图片

图片

我们看到,作业分配到了一个大小为4的GI,和大小为4的CI。这里的GI和CI信息中,斜杠前面的是设备起始编号,后面的是设备大小。比如,0/4表示从第一个单元开始,大小为4单元。而我们提交作业时指定了-n2,表示有2个task,但是MIG device只有一个,所以是由这两个task共用这个device。

同时,我们在lshosts -gpu -mig中也会看到GPU的MIG信息的变化:

图片

我们看到,MIG device从刚才的7个变为了4个,一个为4g.20gb的、大小为4单元的GI,还有3个还是原始大小。

如果我们在提交作业的时候指定mig=3/2, 则表示创建一个大小为3的GI,但是只分配一个大小为2的CI给这个作业,这样,还剩下一个CI可以分配给其它作业。

例如,我们先提交第一个mig=3/2的作业:

图片

图片

当作业运行起来以后,我们看到,由于0-3单元上之前的作业已经创建了一个大小为4的GI,所以这个新的GI从单元4开始创建,大小为3个单元,而CI也是从单元4开始,但是只分配2个CI给这个作业。

再提交一个mig=3/1的作业:

图片

图片

这一次,GI还是复用刚才第二个作业创建的GI,但是第三个作业得到的CI是从单元5开始大小为1的CI。

这个时候,我们通过lshosts -gpu -mig也可以看到我们创建了3个device,除了第一个作业的4g.20gb外,还创建了一个3g.20gb的GI,同时这个GI被划分成了两个CI 。

图片

我们这次提交一个4个task的作业,但是使用mig=2/1。

图片

因为这次GPU的数量也是4(上图中的“num=4”),所以会为每个task分配一个MIG device,这样,LSF就会创建2个大小为2的GI,同时把每个GI各划分成两个CI,每个task只分配一个CI:

图片

我们看到,这一次是使用单元0和1,以及单元4和5来创建2个大小为2的GI,同时创建了4个CI,并且把每个CI分配给了一个task。

以上就是LSF调度MIG GPU的基本使用。实际应用中,还可以同时指定GPU和CPU affinity来同时指定作业的GPU和CPU需求,有兴趣的读者可以参考IBM相关文档,或发邮件与我们交流。

欢迎关注下方微信公众号【HPC常青园】,共同交流HPC集群管理经验和最佳实践。如果您有关于HPC集群的具体需求,欢迎邮件沟通交流:hpc@ivyent.cn。

HPC常青园

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: LSF(Load Sharing Facility)是一种用于资源管理和作业调度的软件工具,其中的LSF license调度是指对LSF软件的许可证的管理和调度。 在使用LSF软件时,用户需要获得相应的许可证才能正常使用软件的全部功能。而LSF license调度就是对这些许可证的分配和调度,以确保每个用户都能够按照自己的需求使用软件。 LSF license调度通常涉及以下几个方面: 1.许可证分配:LSF管理员会根据用户的需求和优先级,将可用的许可证分配给不同的用户。通常将许可证分配给具有高优先级或需求的用户,以确保他们能够在需要时优先使用软件。 2.许可证回收:当一些用户不再需要使用LSF软件时,拥有许可证的管理员可以及时收回许可证,以便重新分配给其他用户。这样可以最大限度地提高许可证的利用率和效率。 3.许可证管理:LSF管理员还需要定期监控和管理许可证的使用情况,确保许可证的数量和使用情况与实际需求相符。如果发现许可证不足或者存在滥用的情况,管理员需要及时采取相应的措施。 总之,LSF license调度是对LSF许可证进行合理分配和管理的过程,旨在最大程度地满足用户的需求,提高许可证的利用效率,确保软件系统的正常运行。 ### 回答2: LSF(Load Sharing Facility)是一个用于集群计算的作业调度和管理系统,可以帮助高性能计算(HPC)环境下的任务有效地分配和使用资源。在LSF中,license调度是指对软件许可证资源的优化调度和管理。 在一个HPC环境中,常常需要使用各种不同的软件工具和库,这些工具和库通常需要相应的许可证才能合法使用。而软件许可证往往是有限的,所以对许可证资源进行调度是非常重要的。 LSF通过对许可证的分配和释放进行智能调度,以最大程度地利用许可证资源并最小化等待时间。它根据作业的需求和许可证的可用性,动态地分配许可证给需要它们的作业,尽量避免许可证的过度分配或浪费。同时,当一个作业不再需要许可证时,LSF会将其释放,以便其他作业能够利用这些许可证资源LSF还可以通过许可证的限制和优先级设置,来确保重要的作业能够获得所需的许可证资源,而次要的作业则可能会被推迟或降低许可证的使用。这样可以确保关键任务的顺利执行,同时最大限度地提高整个集群的利用率。 总而言之,LSF的license调度功能是为了合理、高效地管理和调度许可证资源,以确保HPC环境中的作业能够得到所需的许可证,并在最短的时间内完成任务。这样可以提高计算集群的利用率,提升工作效率和系统性能。 ### 回答3: LSF(Load Sharing Facility)是一种用于分布式计算环境的作业调度和资源管理软件。在LSF中,license调度是指通过合理管理和分配软件许可证(license),以确保系统中所有用户能够合理使用软件许可证资源LSF License调度的主要目标是实现最大化利用软件许可证资源,同时确保用户的需求得到满足。为了实现这一目标,LSF会根据用户的需求和系统的实际情况进行许可证资源的分配和调度。 LSF License调度的过程通常包括以下几个步骤: 1. 许可证资源的监控和管理:LSF会监控系统中可用的许可证资源数量和使用情况,并对许可证资源进行管理。这包括许可证资源的获取、分配、释放和回收等操作。 2. 许可证资源的分配:根据用户提交的作业需求和当前系统的状况,LSF会决定如何分配许可证资源给不同的作业。通常,LSF会采用一定的算法和策略来进行许可证资源的分配,例如根据作业的优先级、作业的资源需求和系统的负载情况等。 3. 许可证资源的调度和冲突处理:由于许可证资源是有限的,可能会出现作业之间对许可证资源的竞争。LSF会根据系统的策略和规则来调度许可证资源的分配顺序,并解决因许可证资源冲突而导致的调度问题。 4. 许可证资源的回收和释放:当作业使用完许可证资源后,LSF会将这些许可证资源回收并释放给其他等待的作业使用。这样可以确保系统中许可证资源的充分利用。 总之,LSF License调度是为了合理分配和管理系统中的许可证资源,以实现最大化的资源利用和满足用户的需求。通过LSF License调度,可以提高系统的效率和资源利用效率,同时提升用户的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ivyent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值