littlebot
Published on 2025-04-07 / 1 Visits
0

【源码】基于C++语言的并行字符串匹配实验项目

项目简介

本项目作为“分布式并行计算”课程的一部分,聚焦于比较串行和不同并行方法在字符串匹配方面的性能。项目实现了KMP字符串匹配算法,借助OpenMP支持的多线程技术显著提高执行效率,还将应用SIMD指令集对匹配流程加速纳入性能评估对比。受项目周期和专业水平限制,此为并行优化的初步尝试。

项目的主要特性和功能

  1. 算法实现:实现KMP字符串匹配算法。
  2. 并行加速:运用OpenMP多线程技术提升字符串匹配执行效率。
  3. 指令集优化:研究并应用SIMD指令集加速匹配流程。
  4. 性能对比:对比单线程与多线程环境、是否使用SIMD指令集时的性能差异。
  5. 测试框架:依赖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。

操作步骤

  1. 打开终端,创建并进入构建目录: shell mkdir build cd build
  2. 运行CMake生成构建文件: shell cmake ..
  3. 编译项目: shell cmake --build . --config Release
  4. 编译和链接完成后,目录下会存在paralleltest_kmptest_simd_search三个文件,执行./parallel即可运行项目。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】