- 博客(3)
- 收藏
- 关注
原创 OpenMP编程中遇到的数据漂移、串行并行结果不同、数组定义问题
笔者在进行OpenMP并行编程时(对一个domain decomposition的问题),需要多线程同时调用一个函数(是一个需要迭代的数值计算函数),再把各线程的输出拼起来,执行时发现,输出的数据与串行运行不一样,但是仅有微小的漂移,并且这个漂移每次都不一样,非常神奇。查阅资料,网上说是可能是浮点数运算、数据竞争等各种可能,逐一排查后实在是找不到问题,检查了无数问题都没找到答案。最后解决。总之在这里提出这个问题与我的解决方法,仅供参考。
2025-02-20 10:49:18
326
原创 如何使用Clang编译器在VS2022下用OpenMP进行编程
笔者在进行毕业设计时,需要用到并行计算,思来想去发现OpenMP较为简单,只需加几行注释性语句即可。使用要求较低的同学直接下载预编译包,当作一个安装包使用即可,llvm官网提供了详细的文档:笔者的算法是在一个开源算法的基础上进行修改的,原算法使用的时候VScode+Clang+makefile进行编程,相对复杂,为方便进行调试,我将算法一个文件一个文件挪到了VS2022中,由于算法中存在大量的动态数组,不能使用VS2022自带的相关编译器,我选择使用Clang编译器进行编译。
2024-06-06 15:50:56
1484
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人