- ベストアンサー
GPGPUで効果的なベッセル関数の積分計算を行う方法は?
- GPGPUを使用してベッセル関数を含んだ関数の積分を効果的に計算する方法について検討しています。
- ベッセル関数をサポートしているのはCUDAのみであるため、GPGPUの選択肢はCUDAに限定されます。
- しかし、ベッセル関数のサポートを終了してしまったArrayFireでは再開の目途が絶たれており、諦めるしかない状況です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
GPGPUだとGPUの持つ多数の浮動小数点演算ユニットでの並列演算っていう感じだったと思います。 基本的には作画演算の為のベクトル・行列演算を得意とします。つまり、単純かつ大量の加算・積算ですね。 ですので、条件分岐や漸近式みたいに演算結果を次の周回で利用するようなループ演算には適用できません。 行いたい数値積分が各ステップでの演算を解析的に単独で行えるものであるならGPGPUの利用価値はあると思います。 GPGPUでどの環境が良いかは使ったことが無いので判断出来ません。
その他の回答 (2)
- Knotopolog
- ベストアンサー率50% (564/1107)
No.1 です. Risa/Asirで数値積分などの数値解析計算はやりませんでした. もっぱら,数式処理としての代数的計算が主です. たとえば,A=((a+b)^5)(c-d-e)^7 のAの展開式を求める,といったような. Risa/Asirのユーザーズ・マニュアルを見ましたら,やはり「数値積分」という項目は,ありませんでした. Mathematica は,数えるほどの回数しか使っていませんが,Risa/Asirは,私にとって論文作成の上で役に立った良き道具です. 爆速であるためには,プログラム言語も影響するのでしょうね? 私は,コンピューター・プログラムについては不得手なんです. これから,ぼつぼつ,Python を使ってみようかな! という段階です. 今,執筆中の論文(組合せ論)に関する計算のためです. 関係のない事まで書き込みまして,失礼しました. Risa/Asir,もし,使えるものでしたら使ってみて下さい.
- Knotopolog
- ベストアンサー率50% (564/1107)
GPGPUを使ったことがありませんので,詳しいコメントが出来ません. 私がときどき使っているシステムがありますので,ご紹介します. Risa/Asir(リサ/アジール)というシステムです. Risa/Asir はオープンソースの計算機代数(数式処理)システムですが, 質問者さんの目的にそえるかどうか,試してみて下さい.以下がURLです. (1). http://www.math.kobe-u.ac.jp/Asir/asir-ja.html (2). http://www.math.kobe-u.ac.jp/Asir/ (3). http://www.math.kobe-u.ac.jp/OpenXM/Current/doc/asir2000/ (4). http://www.openxm.org/ (1),(2),(3),が,Risa/Asir(数式処理ソフト)関係のURLです. (4)は関係がないかもしれませんが,何かの参考になればと思い勝手に貼り付けました. (4)の英文の和訳を以下に貼り付けておきます. ---------------------- OpenXMとは何ですか? それは数学的なコミュニケーションのためのインフラです。 私たちは、数学的計算(OpenXM-RFC)の標準を提案します。 また、数学データの標準化に役立つOpenMathもサポートします。 このプロジェクトでは、インフラストラクチャ上で数学的なソフトウェアシステムを相互に接続するための実験も行っています。 OpenXMプロトコルをサポートする数学的ソフトウェアシステムのパッケージを提供しています。 OpenXMパッケージのスクリーンショットをご覧ください。 ここでは、OpenXMパッケージを簡単に紹介します:関数1、関数2、効率的な計算。 ---------------------- 余計な事を,沢山書き込んだかも知れません. お許し下さい.
お礼
ありがとうございます. 数式処理と言うより数値積分ですので,使える過度化の判断が難しいのですが, Mathematicaみたいなものでしょうか? だとしたら数値積分機能もあると思いますが, 爆速である必要があります.
お礼
ありがとうございます.原理的には並列に出来ると思うのです.自分で積分計算をプログラミングすれば確実にできるかもしれませんが,数値積分は既に用意されたものを使うとき,GPGPUの能力を生かしてくれるのかどうかが問題ですね.