我正在使用 openmp 来并行化我的代码。我有一个原始数组:
A=[3,5,2,5,7,9,-4,6,7,-3,1,7,6,8,-1,2]
和一个标记数组:
M=[1,0,1,0,0,0,1,0,0,1,1,0,0,0,1,1]
使用数组 M 我可以在这个打包数组中压缩我的原始数组:
A=[3,2,-4,-3,1,-1,2]
我想使用多线程方法解决这个问题。C++ 的库“推力”解决了这个问题,但我无法为 Fortran 找到类似的工具。是否有一个库,比如 C++ 的“推力”,我可以用来执行流压缩?或者,是否有一种我可以使用 fortran 和 openmp 自己编写的算法来解决这个问题?