cuElim
使用统一内存实现gf2^8域和素域上的矩阵乘法和高斯消元,无需考虑显存大小.
使用说明
在现有项目中使用
-
将
include
文件夹中的所有头文件添加到现有项目中. -
在需要使用gpu函数的地方引用
cuelim.cuh
使用当前项目
-
安装依赖
C++ CUDA CMake ...
GoogleTest
GoogleBenchmark
-
构建项目
mkdir build && cd build cmake .. make -j # 同时编译多个目标 ctest # 或make test 执行所有测试
-
运行可执行文件
./cuelim # 执行主程序 ./test/target # 执行特定测试 ./benchmark/target # 执行特定性能测试
功能简介
-
gf256::MatGF256
:存储GF2^8矩阵,数据结构已经改为与m4rie一致,从低位到高位排列 -
gf256::ElimResult
:存储高斯消元的结果,包含秩、主元行(进行行交换前的位置)、主元列 -
gf256::ElimResult gf256::MatGF256::gpu_elim(const gf256::GF256 &gf)
:进行高斯消元 -
gfp::MatGFP
:储存GF65521矩阵,使用32位存储一个元素 -
gfp::ElimResult gfp::MatGFP::gpu_elim()
:进行高斯消元
Description
Languages
Cuda
94.7%
CMake
3%
C++
2.3%