[解決済み] JavaでGPGPU/CUDA/OpenCLを実現するための最適な方法とは?
2023-02-06 14:07:50
質問
グラフィックス・プロセッシング・ユニットによる汎用コンピューティング ( GPGPU ) は、あらゆる種類のコンピューティングに GPU のパワーを活用するための非常に魅力的なコンセプトです。
GPGPUを画像処理、パーティクル、高速な幾何学的演算に使ってみたいですね。
今現在、この分野ではCUDAとOpenCLの2つが競合しているようです。知っておきたいと思います。
- OpenCL は Windows/Mac 上の Java からまだ使用可能ですか?
- OpenCL/CUDA に接続するためのライブラリはどのようなものがありますか?
- JNA を直接使用することは可能ですか?
- 私は何かを忘れているのでしょうか?
実際の経験/例/戦争体験談があれば、ぜひ教えてください。
どのように解決するのですか?
AFAIK。 JavaCL / OpenCL4Java の使用により、現在、すべてのプラットフォームで利用可能な唯一の OpenCL バインディングです (MacOS X, FreeBSD, Linux, Windows, Solaris, Intel 32, 64 ビットおよび ppc バリアントをすべて含みます。 JNA ).
少なくとも Mac と Windows では、Java Web Start から実際に問題なく動作するデモがあります (Linux でのランダムなクラッシュを避けるには この wiki ページ をご覧ください)、また、次のような パーティクルデモ .
また、いくつかのユーティリティ(GPGPU乱数生成、基本的な並列処理、線形代数)および Scala DSL .
最後に、利用できる最も古いバインディング(2009年6月以降)であり は活発なユーザーコミュニティを持っています。 .
(免責事項: 私は JavaCL の作者です :-))
関連
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
java.sql.SQLException: 結果セットの開始前
-
ジャバアレイ
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
Java:未解決コンパイル問題の解決方法
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
ApiModel と @ApiModelProperty の使用法
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NullPointerException - java.lang.
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
-bash: java: コマンドが見つからない 解決方法
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
Java:未解決コンパイル問題の解決方法
-
java 365*1000*60*60*24 計算問題
-
アクセス制限の解決方法: ---- in Java
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.