主要研究方向为软件性能分析与优化,有大量基础函数库优化经验(如glibc、OpenBLAS、FFTW等),做过多个算法优化相关的项目,以及SIMD相关的优化工作,并且有linux、Android上软件的移植经验。有Linux底层以及编译工具链上相关的优化经验。
熟练使用Linux下相关编程环境,C语言、汇编。
·2020.11--2021.8 数据排布自动优化项目
项目信息:华为无线基站软件有大量的数据处理流程,Cache用于解决内存和CPU之间速度的差异问题,是影响系统性能的重要环节,软件对Cache的使用情况,对系统性能的影响很大。项目能够自动给出数据排布优化方案,并且优化手段能够充分考虑复杂的软件场景(如结构体数组、联合类型、多核伪共享等),帮助软件开发人员优化数据排布,提升cacheline利用率,以提升系统性能。
·2019.10--2020.8 基于SVE的高性能计算库技术项目
项目信息:针对华为海思自研服务器芯片鲲鹏芯片浮点计算性能不足的问题,项目利用下一代鲲鹏芯片中集成的专门用于面向高性能计算和数据中心的ARM可缩放向量扩展(SVE)部件,对基础数学库(BLAS和FFT)基于SVE的指令集重新开发,充分发挥这些特定硬件的性能,大幅提升浮点及向量计算方面性能。
·2018.3--2019.5 多核编程下False-sharing问题的检测和消除项目
项目信息:结合华为无线业务和工程特点,针对多核编程下false-sharing问题的精准检查、消除的算法设计和原型实现。项目分别设计了2种独立的检测算法:基于静态分析和约束求解的静态检测方法以及基于编译器插桩和运行时动态库的动态检测方法,均可提供详尽的false-sharing检测信息,提升系统性能。
·2016.12--2017.11 空口加解密性能提升项目
项目信息:华为CloudRAN/分层云等场景下,空口加密算法snow3g/ZUC/空口AES在通用处理器上的性能较低,不能满足产品需求。根据项目需求,分别从算法、软件实现两个方面对空口加密算法进行优化,在Intel通用处理器上提升加密算法处理性能(单核)。
·2016.8--2016.11 OpenCV函数库性能优化
项目信息:为提升Android系统平台图形处理速度,从而提升用户的体验,本项目针对ARM Cortex-A系列处理器架构对计算机视觉库OpenCV中VR/AR场景相关的图像处理函数进行了优化。
·2014.12--2016.3 ARM平台双操作系统项目
项目信息:基于Linux Container(LXC)技术,在ARM平台上构建双操作系统(Linux+Android)演示版,可以正常启动双系统并显示双系统的桌面。