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),仅供参考