前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教程】设置GPU与CPU的核绑(亲和力Affinity)

【教程】设置GPU与CPU的核绑(亲和力Affinity)

原创
作者头像
小锋学长生活大爆炸
发布2024-06-28 14:02:08
6690
发布2024-06-28 14:02:08
举报
文章被收录于专栏:高性能计算

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

简单来说,核绑,或者叫亲和力,就是将某个GPU与指定CPU核心进行绑定,从而尽可能提高效率。

推荐与进程优先级一起用:

https://blog.csdn.net/sxf1061700625/article/details/139721354


可以看NVIDIA推荐GPU与哪些CPU绑定:

代码语言:javascript
复制
nvidia-smi topo -m

​ Python中的设置代码参考:

代码语言:javascript
复制
def set_cpu_affinity(rank, num_cores_per_gpu=4, start_core_index=0):
    num_cores = psutil.cpu_count(logical=True)
    core_ids = list(range(num_cores))
    # 计算起始和结束核的索引
    start_core = start_core_index + rank * num_cores_per_gpu
    end_core = start_core + num_cores_per_gpu
    # 获取要绑定的CPU核列表
    cpu_affinity = core_ids[start_core:end_core]
    # 设置当前进程的CPU核绑定
    p = psutil.Process(os.getpid())
    p.cpu_affinity(cpu_affinity)
    print(f">> GPU {rank} is bound to CPU cores {cpu_affinity}")
用法示例:
代码语言:javascript
复制
set_cpu_affinity(rank)

效果演示:

代码语言:javascript
复制
htop

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档