[发明专利]一种CUDA线程放置优化方法有效
申请号: | 201910680644.2 | 申请日: | 2019-07-25 |
公开(公告)号: | CN110399182B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 张伟哲;何慧;谢根栓;鲁刚钊 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/52;G06F18/2411 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 杨立超 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cuda 线程 放置 优化 方法 | ||
一种CUDA线程放置优化方法,涉及基于机器学习的线程优化技术。本发明的目的是提供一种CUDA线程放置优化方法,以实现降低编程人员工作难度以及减少训练数据的获取时间的目的。技术要点:程序信息采集、程序信息处理、机器学习模型训练,程序信息处理是对静态信息和程序运行时信息进行信息汇总、数值化处理、归一化处理得到训练集程序特征,并利用程序执行时间信息集设置标签从而完成标签数据的生成;将训练集程序特征和标签数据作为输入,利用支持向量机算法进行性能建模,得到程序性能预测模型;在线程优化放置应用时,首先需调用程序信息采集模块,采集待优化程序的程序信息,然后输入已训练好的程序性能预测模型,即可获得合适的线程块设置方案。
技术领域
本发明涉及一种CUDA线程放置优化方法,涉及基于机器学习的线程优化技术。
背景技术
GPU是现代计算机中的常见硬件,它们主要为CPU提供基本的图像操作。近年来,基于强大的数据并行处理与浮点计算能力,GPU被广泛应用于工程应用和科学计算领域。但GPU结构复杂并且具有完全不同于CPU的多线程编程模型,这就使得在GPU上开发高效并行程序变得相对复杂,因而降低GPU编程复杂度并提升程序运行性能就显得尤为重要。2007年,NVIDIA公司发布了GPU下开展并行计算的程序模型及开发环境——统一计算架构CUDA。依托于CUDA提供的C语言扩展,程序开发人员可以开发出GPU上的并行计算程序。CUDA除了提供支持GPU程序的C语言扩展外,还提供了必要的编译器(nvcc)、调试器、运行时环境以及性能分析工具等,为用户提供了全面的程序开发支持。在程序运行时,为了有效管理GPU上并发的大量线程,CUDA设计了合理的线程层次结构。线程是CUDA程序最基本的执行单元,而32个线程组成线程束(warp)。线程块(Block)由若干个线程束组成,若干个同维度、同大小的线程块组成了线程网格(Grid)。程序员需要设置线程块大小(block size)以明确程序kernel部分的线程数量。不同的线程块大小对应不同的线程放置方案,也会带来不同的线程的并发度。只有通过合理设置线程块大小才能使程序运行的性能达到最好,因此线程块大小是影响程序性能的关键因素。合理设置线程块大小并不简单,单一的评价标准或相对简单的策略只对部分程序适用。大部分情况下,设置更大的线程块可以提高GPU利用率,程序并发性也会越好,但过大的线程块也可能会导致GPU的资源分配冲突而使程序性能降低,因此只以GPU利用率为性能评估标准是不全面的。此外,部分程序对线程块大小变化较敏感,小范围的变化都会使程序性能波动很大,这说明影响程序性能的因素是多方面交织的,也使得设置线程块大小的策略更为复杂。如果不采用自动搜索最优配置的方法而使用手工寻找最佳配置,则需要编程人员具备一定经验并要根据硬件环境因地制宜,通过不断修改线程块大小、反复运行程序来收集性能信息,过程耗时较大,并且经验主义地设置往往无法达到最优。
发明内容
本发明要解决的技术问题是:本发明的目的是提供一种CUDA线程放置优化方法,以实现降低编程人员工作难度以及减少训练数据的获取时间的目的。
本发明解决上述技术问题采用的技术方案为:
一种CUDA线程放置优化方法,所述方法的实现过程为:
程序信息采集:包括两个部分:
第一部分使用CUDA的性能分析工具nvprof获得程序运行时信息、程序执行时间信息集(核函数运行时间);
第二部分,首先使用LLVM内的工具clang把CUDA源程序转换成中间表示形式,再使用分析pass采集CUDA程序核函数的静态信息;
程序信息处理:对静态信息和程序运行时信息进行信息汇总、数值化处理、归一化处理得到训练集程序特征,并利用程序执行时间信息集设置标签从而完成标签数据的生成;
机器学习模型训练:将训练集程序特征和标签数据作为输入,利用支持向量机算法进行性能建模,得到程序性能预测模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910680644.2/2.html,转载请声明来源钻瓜专利网。