买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:浙江大学
摘要:本发明公开了一种基于模板和函数重载的OpenMP隐式数据映射实现方法。本发明是以C++模板编程和函数重载为基础,通过编写一系列结构体和函数来支持OpenMP的隐式数据映射,使得无需解析变量类型即可实现OpenMP5.0标准中对于隐式数据映射的各种规定。本发明在高级语言层面提供了一个OpenMP隐式数据映射的实现框架,这一方法有更强的通用性,与多数GPGPU编程架构相兼容,可以以轻量化、低耦合的方式实现编译器对OpenMP的扩展支持。
主权项:1.一种基于模板和函数重载的OpenMP隐式数据映射实现方法,其特征在于,包括以下步骤:1分别定义指针、标量和复合类型三种OpenMP规定的基础类型的代理结构体和一个任意类型的代理结构体;所述代理结构体指一种结构体,该结构体作为函数参数时可以代替指定范围内的类型;2定义默认映射器结构体OpenMPmapper,实现所有类型的默认映射器;3定义不同映射方式的结构体,作为传递到GPU的参数结构体;4对于每个参数结构体和默认映射器结构体,分别定义一个结构体Wrapper;其结构体的内部声明静态函数用于解析模板,能够接受任意类型的参数,并且返回值是该类型对应的参数结构体;5声明三个函数,它们分别接受步骤1所述的三种基础类型的参数、返回值是该基础类型对应的Wrapper;声明一个函数,它接收任意类型的参数,返回值是默认映射器结构体对应的Wrapper;6当用户使用OpenMP的declaremapper指令重写某种类型的默认映射器时,需在该指令位置重新定义一个默认映射器结构体,并且重载该类型的默认映射器代理函数;7在OpenMP的target指令中,当用户通过defaultmap子句改变步骤1所述三种OpenMP规定的基础类型的隐式映射方式,则需重载对应类型的映射代理函数来改变其映射方式;所述defaultmap子句为OpenMP子句术语;8通过模板自动解析变量的类型、调用对应的参数结构体实现target指令作用区域内变量的隐式映射,并实现核函数内部对GPU关联变量的访问。
全文数据:
权利要求:
百度查询: 浙江大学 一种基于模板和函数重载的OpenMP隐式数据映射实现方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。