AIOpenEuler/AIHost-turbo API完全指南:20个核心函数详解与应用场景

📅 2026/7/12 23:17:48 👁️ 阅读次数 📝 编程学习
AIOpenEuler/AIHost-turbo API完全指南:20个核心函数详解与应用场景

AIOpenEuler/AIHost-turbo API完全指南:20个核心函数详解与应用场景

【免费下载链接】AIHost-turboA high-performance acceleration library built for AI host.项目地址: https://gitcode.com/openeuler/AIHost-turbo

前往项目官网免费下载:https://ar.openeuler.org/ar/

openEuler/AIHost-turbo是一款为AI主机打造的高性能加速库,提供了丰富的API函数来优化AI任务的调度与资源管理。本文将详细介绍20个核心函数的功能、参数及实际应用场景,帮助开发者快速上手并充分发挥AIHost-turbo的性能优势。

一、进程与线程管理函数

1. group_create:创建调度组

功能:创建一个新的任务调度组,用于对相关进程和线程进行统一管理和调度。参数:name(可选)- 调度组名称返回值:int - 调度组ID应用场景:在启动AI训练任务前,创建专属调度组以隔离不同任务的资源。

2. group_destroy:销毁调度组

功能:删除指定的调度组,释放相关资源。参数:group_id - 调度组ID应用场景:AI任务完成后,清理不再需要的调度组。

3. group_add_thread:添加线程到调度组

功能:将指定线程添加到调度组中进行统一管理。应用场景:将AI模型推理线程添加到高优先级调度组,确保推理任务的响应速度。

4. group_remove_thread:从调度组移除线程

功能:将线程从调度组中移除。应用场景:当某个线程不再需要特殊调度时,将其从调度组中移除。

5. group_add_process:添加进程到调度组

功能:将指定进程添加到调度组。应用场景:将AI训练进程及其子进程添加到同一调度组,实现资源统一调度。

6. group_remove_process:从调度组移除进程

功能:将进程从调度组中移除。应用场景:进程结束或不再需要特殊调度时使用。

7. thread_set_high_priority:设置线程高优先级

功能:提升指定线程的调度优先级。应用场景:为AI推理线程设置高优先级,减少响应延迟。

二、资源绑定与隔离函数

8. process_bind_npu:绑定进程到NPU

功能:将进程绑定到指定的NPU设备,优化AI计算性能。应用场景:在多NPU环境中,将不同的AI任务绑定到特定NPU,避免资源竞争。

9. set_exclude_cpu:设置排除CPU

功能:指定不参与调度的CPU核心。应用场景:保留部分CPU核心用于系统关键任务,避免被AI任务占用。

10. enable_cpuset_isolate:启用CPU集隔离

功能:启用CPU集隔离功能,将CPU资源划分为不同的集合。应用场景:为AI任务创建独立的CPU集,提高资源利用率和任务隔离性。

三、调度与管理函数

11. run_affinity:运行亲和性调度

功能:执行亲和性调度策略,优化任务与CPU资源的匹配。参数:dry_run(可选)- 若为True,仅模拟调度不实际执行应用场景:在AI任务启动时执行,实现任务的最优CPU亲和性配置。

12. print_affinity:打印亲和性配置

功能:输出当前的CPU亲和性配置信息。应用场景:调试和验证亲和性调度配置是否正确。

13. restore_affinity:恢复亲和性配置

功能:将CPU亲和性配置恢复到初始状态。应用场景:AI任务结束后,清理亲和性配置,恢复系统默认状态。

四、配置与初始化函数

14. AffinityConfig.init:初始化亲和性配置

功能:创建并初始化亲和性配置对象。应用场景:在启动调度器前,初始化调度相关的配置参数。

15. AffinityConfig.set_exclude_cpu:设置排除CPU

功能:在配置对象中设置需要排除的CPU核心。应用场景:初始化配置时,指定不参与AI任务调度的CPU。

16. Scheduler.init:初始化调度器

功能:创建调度器实例,关联配置、域管理器和任务管理器。应用场景:系统启动时初始化调度器核心组件。

17. Scheduler.schedule:执行调度

功能:执行调度算法,为任务分配CPU资源。返回值:bool - 调度是否成功应用场景:定期执行或在任务状态变化时触发调度。

五、示例应用函数

18. add_affinity_tasks:添加亲和性任务

功能:为AI任务添加亲和性调度相关的任务。应用场景:在vLLM等AI推理框架中集成,优化推理任务的资源调度。

19. cmd_run:运行命令

功能:执行调度相关的命令。应用场景:通过命令行接口启动亲和性调度。

20. cmd_restore:恢复命令

功能:执行恢复亲和性配置的命令。应用场景:通过命令行接口恢复系统默认配置。

总结

openEuler/AIHost-turbo提供了全面的API函数,涵盖了从进程线程管理、资源绑定到调度策略执行的各个方面。通过合理使用这些API,开发者可以显著提升AI任务的运行性能和资源利用率。建议结合examples/affinity_vllm.py等示例代码进行实践,快速掌握API的使用方法。

要开始使用AIHost-turbo,可通过以下命令克隆仓库:

git clone https://gitcode.com/openeuler/AIHost-turbo

然后参考项目文档进行安装和配置,开启AI任务的高性能加速之旅。

【免费下载链接】AIHost-turboA high-performance acceleration library built for AI host.项目地址: https://gitcode.com/openeuler/AIHost-turbo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考