项目简介
本项目作为“分布式并行计算”课程的一部分,聚焦于比较串行和不同并行方法在字符串匹配方面的性能。项目实现了KMP字符串匹配算法,借助OpenMP支持的多线程技术显著提高执行效率,还将应用SIMD指令集对匹配流程加速纳入性能评估对比。受项目周期和专业水平限制,此为并行优化的初步尝试。
项目的主要特性和功能
- 算法实现:实现KMP字符串匹配算法。
- 并行加速:运用OpenMP多线程技术提升字符串匹配执行效率。
- 指令集优化:研究并应用SIMD指令集加速匹配流程。
- 性能对比:对比单线程与多线程环境、是否使用SIMD指令集时的性能差异。
- 测试框架:依赖Google Test进行算法单元测试。
安装使用步骤
环境要求
- 操作系统:建议使用Linux系统(使用可选的mmap封装需要Linux系统),作者使用的是Archlinux (2024.4.3, linux 6.7.2.arch2 - 1)。
- CMake版本:3.29.0及以上。
- Google Test版本:不低于1.14.0 - 1版本。
- 开发环境:推荐使用CLion。
操作步骤
- 打开终端,创建并进入构建目录:
shell mkdir build cd build
- 运行CMake生成构建文件:
shell cmake ..
- 编译项目:
shell cmake --build . --config Release
- 编译和链接完成后,目录下会存在
parallel
、test_kmp
、test_simd_search
三个文件,执行./parallel
即可运行项目。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】