Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
サブルーチンをマルチスレッド化することは可能ですか?私はopenmpを使用して、複数のコアのlapackモジュールからZGEEVサブルーチンを実行し、処理を高速化するのが好きです。それも可能ですか?
この場合ははい。LAPACKはBLASを使用してパフォーマンスを実現し、BLASには効率的なマルチスレッドバージョンが多数あります(MKL、ACML、ATLASなど)。したがって、そのレベルのスレッドを使用してパフォーマンスを向上させることができますが、私の経験では、ダイアゴナライザーの速度は制限されていると言わなければなりません。
ただし、より一般的には、コードを自分で並列化する必要があります。この場合、重要なレイヤーのスレッドバージョンがすでに存在するため、幸運に恵まれます。