这个项目实现了Mandelbrot集合的可视化和性能基准测试。项目包含三种计算模式:单线程、OpenMP并行和OpenCL,并支持单精度和双精度计算。用户可以选不同的模式和精度来生成Mandelbrot集合,并进行性能测试。
[link] https://github.com/Dylan8527/Mandelbrot-set-GPU
main.cpp:主程序文件,负责初始化OpenGL窗口,处理用户输入,并调用相应的计算函数生成Mandelbrot集合。benchmark.cpp:性能基准测试文件,包含不同计算模式的基准测试函数,并输出性能结果。main_openmp.cpp:OpenMP并行计算实现文件。main_opencl.cpp:OpenCL计算实现文件。render.cpp:渲染Mandelbrot集合并保存为GIF文件。lodepng.h:PNG图片编码库头文件。
- OpenGL
- GLFW
- GLEW
- OpenCL
- OpenMP
- lodepng
- ffmpeg
确保安装了所需的依赖项后,可以使用以下命令编译项目:
mkdir build
cd build
cmake ..
cmake --build . --config Release
cd ..运行以下命令启动可视化程序:
./build/Release/Mandelbrot-Set运行以下命令启动性能基准测试:
./build/Release/benchmark [num_iterations]运行以下命令启动渲染程序:
./build/Release/render [num_frames] [frame_rate]程序启动后,用户可以选择以下参数:
- 单线程
- OpenMP并行
- OpenCL
- 单精度 (float)
- 双精度 (double, 默认)
用户可以设定渲染的帧数以生成不同长度的GIF文件。


