课程学习部分:
数字与模拟电路
数据结构
计算机组成原理
操作系统
计算机网络
编译原理
算法基础
计算机体系结构
软件工程
并行计算
数据库系统及应用
人工智能基础
前端部分:
1)HTML
2)CSS
3)JavaScript
4)JSON
后台部分:
1)JAVA语言
2)python语言
3)C/C++语言
4)SQL数据库
5)OpenMP算法库
6)BLAS库
7)FFTW库
版本控制:
1)SVN:版本控制
2)git版本控制
开发工具:
1)Eclipse
2)ldea
3)Visio Studio
数据库
1)Oracle
2)MySQL
操作系统:
1)Windows
2)Linux
远程登录的会话工具:
1)SSH
1:华为技术有限公司合作研发项目——数据排布优化与自动预取技术开发 执行负责人
项目内容:通过改变程序的数据排布,或者在程序运行时加入预取指令,可以改变程序运行时的cache状态,进而改变整体的cache miss率,影响性能。项目研究该技术的应用场景并以期获得可用的自动化工具。
本人工作:作为项目的执行负责人,负责项目的整体调研、算法设计与部分功能开发,并执行任务分解与进度把控的项目管理工作。开发了数据排布优化的一般性方法并对该方法进行了程序化实现,在通用benchmark上得到了比现有相关成果更好的排布方式;开发了基于llvm编译器的自动预取优化工具,该工具在CRONO基准程序上取得了平均57%的L1 cache miss减少和23%的运行速度提升。
2:华为技术有限公司合作研发项目——基于SVE的高性能计算库技术开发 技术骨干
项目内容:该项目对ARM中新的并行计算硬件SVE进行研究,将BLAS库和FFT库在新的硬件平台上进行实现,从而更高效地利用硬件性能,增加并行度,提高算法库的运行效率。
本人工作:负责FFT库的整体调研,算法设计以及部分功能开发。该项目最终得到在ARM-SVE环境下运行的计算库,相比传统ARM并行算法库FFTW,在256SVE硬件环境上有1.6倍左右的更高效率。
3:华为技术有限公司合作研发项目——多核编程下伪共享问题的检测和消除技术开发 技术骨干
项目内容:该项目针对多核程序中的伪共享(False-sharing)问题进行研究,通过动态检测和静态检测的方法检测程序是否有伪共享问题,从而定位问题,为提高程序运行性能提供指导。
本人工作:负责静态检测部分的整体检测算法设计以及部分功能开发。该项目最终得到基于llvm编译器的多核伪共享静态检测工具,在业界通用的基准测试程序上,该工具可以检测到所有业界相关成果已检测到的伪共享场景,而且发现了新的伪共享场景。