コードを並列化するために 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++ 用のライブラリ 'Thrust' はこの問題を解決しますが、Fortran 用の同様のツールを見つけることができません。ストリーム圧縮を実行するために使用できる、C++ の「thrust」のようなライブラリはありますか? または、これを解決するために、fortran と openmp を使用して自分で作成できるアルゴリズムはありますか?