首页 新闻动态 项目公示 比赛规则 我要报名 关于比赛
CUARMA-基于CUDA的高度抽象BLAS库
学校: 北京大学 院系:北京大学工学院固体力学系 作品类别:B、专用技术创新应用
基于现有的CUDA构架开发的高度抽象的线性代数库,通过封装内存管理、数据拷贝、运算符抽象,实现类似MATLAB语法的高性能并行计算库,让CUDA并行计算不再复杂
  • 作品/项目简介
  • 作品成果介绍
  • 应用前景分析
  • 项目团队
  • 一、作品意义 :

       随着航空航天乃至整个学术界和工业界实际问题变得越来越复杂,计算量也变得越来越大,高性能计算的硬件和软件工具显得极为重要. 

        本软件包旨在帮需要使用大规模科学计算的科研学术人员无需关心高性能CUDA程序的繁琐实现细节,而集中心思在算法的实现和问题本身的解决之上.通过对内存的管理的封装、常见矩阵函数的封装、对数据管理和拷贝的封装等,让适用CUDA进行高性能计算可以如同使用MATLAB函数一样简单。如:

        行列式计算: det(A)  就可以轻松并行实现行列式的计算,而无需开发人员关心内存管理、数据拷贝等.

    二、国内外相关技术研究情况、水平和发展趋势 :

        英伟达公司提供CUDA计算构架以来,不少的科研机构、公司和个人为开源界贡献了很多CUDA高性能计算的库,让高性能计算飞入寻常百姓家。

        尽管现在已经拥有了众多的CUDA开源工具包,线性代数函数也足够完整,但缺点在于工具的抽象性不高,用户利用现有的工具进行实际开发仍然需要开发人员有较高的代码和并行代码的素养。特别是CUDA并行,因使用其需要了解诸多底层内存管理和硬件相关的知识,这给科研工作带来了极大的不便。

        如果有一种语法能跟MATLAB一样简单的高性能计算CUDA库出现,则能给科研工作带来极大的便利。人们无需花费太多心思在代码的实现上而在算法的实现和问题本身的解决上。

        本程序包则基于此思想为动机,希望能够给高性能计算带来一些小贡献.

  • (一) 作品方案
    1. 使用现有的CUDA线性代数库函数或者自己编写额外的线性代数核函数;

    2. 封装数据在主机内存和GPU内存的内存管理;

    3. 用C++面向对象封装和抽象CUDA线性代数函数;

    4. 运算符重载,再次抽象;

    5. 封装其它常用工具,如迭代器等;

    6. 提供Matlab访问的接口,让所有的开发、编译和运行过程都可以在MATLAB的环境下完成,以便同时解释使用MATLAB本身优秀的绘图功能等;

    7. 健壮代码,实现代码层次的垮平台性;

    8. 开发网站,详细地中文说明文档;

    (二) 攻克的关键技术或关键技术的现实路径
    1. 熟悉C++编程语言知识;

    2. 熟悉CUDA软硬件知识的熟悉;

    3. 各种线性代数核函数的并行实现

    4. 模板表达式的完整表达

    (三) 主要技术指标

    1.  用户使用该程序包时的开发效率;

    2.  程序的执行效率(实践证明,程序运行效率相比MATLAB有100-400倍的提高,前提是问题本身的并行度高);

    3.  线性代数函数数量;

    (四) 主要创新点

    让复杂的CUDA高性能计算变得跟使用MATLAB函数一样简单

  • (一) 应用领域及方向

    各需要大规模科学计算的科学领域

    (二) 应用研究条件及保障措施
    1. C++ 环境

    2. 支持CUDA的显卡硬件

    3. CUDA toolkit环境

    4. C++ IDE或Matlab环境

    (三) 应用研究经费预测
    1. 带有GPU硬件的集群:几千到几万不等;

    2. 专业的CUDA程序开发人员,学生开发,暂无需费用;

    3. 开发周期较长,需要实现的函数量大

  • (一) 参研高校/院、系(包括牵头院系和参研院系)

    北京大学工学院  固体力学系

    (二) 研究基础
    1. CUDA计算构架的成熟;

    2. 现有的CUDA线性代数核函数;

    3. 现有单线程CPU C++线性代数据的思想;

    (三) 项目导师、牵头负责人及项目团队介绍

    导  师:   唐少强

    负责人:   杨  现

    项目开发: 杨  现

    Web前端:  杨  现

    Documentation: 杨  现

航天科工 | 航天云网 | 关于我们
联系电话:400-857-6688
Copyright © 2017,All rights Reserved
京ICP备05067351号-3
北京市海淀区阜成路8号院主办公楼5层