一、回望2025
时间忽然一恍,悄悄的2025年就要过去。回首这一年,经历了不少的技术点的突破。从设计层面的心得,到基础技术和模板技术的成长。再到各种工具包括AI辅助编程的引入以及对C++新标准的不断解决和学习突破。可以说是一个不断学习和不断总结的过程。在这个过程中,也结识了不少的新朋友和老朋友,互相借鉴共同进步。
二、并行编程
但是,如果说在今年自己感觉影响最大的技术进步,就是对并行编程的深入分析和掌握。特别是对并行编程的相关体系和具体的各个"门派"进行了系统的分析。从理论上对并行编程有一个了全面的深度的理解。
通过自己在机器上搭建了TBB和CUDA以及OpenCL的实际开发环境,掌握了在安装相关驱动和软件时的问题解决。比如TBB安装中的库依赖和版本冲突问题。CUDA编程中的驱动安装和与VS工具安装的不匹配的问题。都深刻理解了并行编程与硬件,特别是GPU的深度绑定的客观性。也明白了,为什么现在网上对AI算力渴求性的原因。
这一年中,通过对TBB,CUDA编程的博客文章编写,既向大家展示了自己一年来的成果,就和大家一起探讨和分析了相关的技术难点和应用重点。将CUDA代码的实现与TBB中的SYCL代码的实现进行了工程级的应用。一步步的深入走进了并行编程的世界。
三、实际项目的实战
在公司的实际项目中,有一个图像处理的模块,用来进行高速图像流和数据流的合成分析处理。而这种处理涉及到了CPU和GPU的并行计算。其原有的工程采用的是CUDA+OneAPP的方式。但为了更好的兼容公司的Intel CPU相关硬件,将其转换成了OneAPI+SYCL的方式。在这个技术转换的过程中,对二者的异同进行了较深刻的分析和总结。转换后的代码,能稳定的解决当前的图像和数据处理。
并行编程本质就是抽象层算法(例如图)的高效机制与硬件(CPU或GPU)的准确映射的一种技术。即将抽象的高效性与硬件的物理资源的高效利用性最佳匹配。不管是哪种框架哪种技术,都是各有千秋,互相借鉴。
四、总结与展望
虽然在今年对并行编程有了更深刻的理解,但越是深入学习越是发现需要掌握的知识更多。希望在未来的2026年中,能够坚守本心,努力学习,不断实践,深入总结,与大家共同进步。