スパコン上でC言語を用いた複素指数関数計算について(原子核の励起状態の計算)

HPCI戦略プログラム分野5では素粒子・原子核・宇宙分野の研究者、計算機科学の研究者らからなるユーザー支援チームを組織し、分野内の情報共有、計算の並列化や最適化に関するユーザーへのアドバイス、ユーザー支援を行なっています。最新のユーザー支援事例報告をご紹介いたします。

計算の概略 スパコン上でC言語を用いた複素指数関数計算について(原子核の励起状態の計算)
使用言語 c
問題 基研のSR16000 上のIBM 製xlc で複素数の計算を行いたいと考えています。しかし同等のFortran のコードと比較して、C のコードは4倍以上も遅くなると言う問題が生じています。原因を調べた結果、特に標準ライブラリlibm.a 中の複素数cexp がFortran と比べて異常なぐらい遅い事がわかりました。おそらくcexp を自分で置き換えたりするのが一般的な方法でしょうが、その場合は複素数cexp が提供されているその他のライブラリをご存知ないでしょうか?またこのような場合、他に何か解決策があるのでしょうか?同じくC をお使いの方が、このような問題が生じた時に、一般的にどのように対処されているのか、お知恵を拝借させてください。
解決法、参考情報 詳しくはこちらをご覧ください(PDF)

コメントや質問がありましたら、 jicfus-support-at-ccs.tsukuba.ac.jp (-at-を@にして下さい)までお送りください。

カテゴリー: 分野5ユーザー支援情報   パーマリンク