問題タブ [aleagpu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - alea.cuBase と CUBLAS
私は GPU プログラミングのエキサイティングな道を歩み始めています。重量級の計算処理を行う場合は、世の中にある最高のライブラリを使用したいと考えています。特に F# 環境から cuBLAS を使用したいと考えています。CUDAfy は、そのソリューションからドライバーの完全なセットを提供しています。また、いくつかの疑問を投げかけた Alea.cuBase も調べています。
GitHub の Alea.cuSamples プロジェクトは、サンプル ソリューションへの不可解な参照を作成します。「より高度なテストについては、サンプル ソリューションの MatrixMul プロジェクトにアクセスしてください。」しかし、これらの謎のプロジェクトの痕跡は見つかりません。
- とらえどころのない「サンプルソリューションのMatrixMulプロジェクト」の場所を知っている人はいますか?
- cuSamples が単純な行列乗算を実行することを考えると、より高度なバージョンは、どこにいても cuBLAS を使用しますか?
- そうでない場合、Alea.cuBase a la CUDAfy から cuBLAS にアクセスする方法はありますか?
c# - Alea.GPU で 16 を超えるカーネル引数を渡す
作成しようとしているかなり複雑なカーネルがあります。結局のところ、16 個を超える引数を渡す必要があり、どうやら Alea GPU には 16 個の引数に対する制限があるようです。( http://quantalea.com/static/app/manual/reference/alea_cuda_il/alea-cuda-il-ilgpumodule.html )
そもそも16個の引数が悪い考えのように聞こえることは知っています...他にどのようなオプションがありますか? 通常のコードでは、もちろん独自のクラスにラップしますが、GPU コードでは何ができるでしょうか?
c# - AleaGPU C# の高階関数
ここにある F# reduce 関数の C# バージョン (C# スタイル) をコーディングしようとしています。
https://github.com/quantalea/AleaGPUTutorial/tree/master/src/fsharp/examples/generic_reduce
私の質問により具体的には、この関数を例にとります:
私は主に F# を使用しているため、C# でこのような関数をコーディングする方法がよくわかりません。C# 版の場合、multiReduce 関数はクラス メンバーになります。したがって、F# コードをより直接的に変換したい場合は、MultiReduce メンバーから Func を返します。
もう 1 つのオプションは、multiReduce 関数を "フラット化" して、C# メンバー バージョンに 2 つの追加パラメーターを持たせることです。そう...
しかし、F# バージョンの引用符で囲まれた式はデバイス関数であるため、これがすべての場合に AleaGPU コーディングで機能するとは思いません。関数の実際の呼び出しから特定の変数の割り当てを分離できるようにするには、ネストされた関数構造が必要です。
もう 1 つの方法は、MultiReduce クラスを作成し、opExpr と numWarps をフィールドとして持ち、引用符内の関数をクラス メンバーにすることです。
では、これらのような高階関数は一般的に AleaGPU-C# でどのように実装されるのでしょうか? Func<..> をどこにでも返すのは良くないと思います。これは C# コーディングではあまり行われていないからです。AleaGPU は、これで問題ない特殊なケースですか?
基本的な AleaGPU C# の実装は次のようになります。
aleagpu - aleagpu - atomicCAS および __shfl_xor
aleagpu フレームワークでこれら 2 つの API (atomicCAS と __shfl_xor) が見つかりません。それらを使用する際に特別な問題はありますか、それとも将来的にサポートされる可能性はありますか?
c# - チュートリアルが NUnit テストに合格しない
今日、私は QuantAlea に出会い、そのチュートリアルをビルドして実行しようとしています。まず、NVIDA GeForce GTX 670 ドライバーを 9.18.13.5306 (2015 年 5 月 27 日) に更新する必要がありました。
今、次のエラーが発生しました:
そのため、CUDA ツールキット 7 をインストールしました (注: 私のシステムには他のツールキットがインストールされていません)。システムを検索すると、CUDA\v7.0\bin フォルダーに cublas64_70.dll が見つかりました。したがって、cublas64_65 は 64 ビット CUDA ツールキット v6.5 の一部であると想定しています。
CUDA ツールキット 6.5 が 2014 年 8 月にリリースされ、v7.0 が 2015 年 3 月にリリースされたことに気付きました。すべての Alea.CUDA パッケージのバージョンは 2.0.0.3222 で、2015 年 3 月 23 日に公開されました。したがって、これらのAlea.CUDAパッケージは v7 に対してビルドされたようです。しかし、何らかの理由で私のシステムは 6.5 バージョンにアクセスしようとしています...と思います。
とにかく、これらのチュートリアルを単体テストに合格させるにはどうすればよいですか? または、CUDA Toolkit 7 で QuantAlea を使用するにはどうすればよいですか?
visual-studio-2012 - Alea GPU プロジェクトを正しく作成するには? 「はじめに」コードのエラー
Visual Studio 2012 Professional で Alea GPU プロジェクトを作成するために、次のことを行いました。
- ファイル > 新規 > プロジェクト > F# アプリケーション
- NuGet パッケージ マネージャーを最新バージョンに更新
- ツール > NuGet パッケージ マネージャー > コンソール
- PM> インストール-パッケージ Alea.CUDA
- PM> インストール パッケージ Alea.CUDA.IL
- これらの手順を使用してインストールされたライセンス: http://quantalea.com/static/app/tutorial%5Cgetting_started%5Cinstall_license.html
- ここからコードをコピーしましたhttps://github.com/quantalea/AleaGPUTutorial/blob/master/src/fsharp/getting_started/ParallelSquare.fs私のメインプロジェクトファイルに。
- ビルド ソリューション。
次のエラーが表示されます。
- 上記の GitHub リンクの行番号とファイルは互いに対応しています。
Alea GPU、Visual Studio、および F# を初めて使用します。手持ちのリソースでできることをやってみました。Alea GPU の Web サイトでは、何をすべきか (NuGet を介して Alea をインストールする、ライセンスをインストールする、コードを提供するなど) が説明されていますが、Visual Studio の使用経験があるユーザーを対象としている可能性があります。また、このマシンに CUDA ドライバーがインストールされていることにも言及する価値があります。
このページの指示にも従いましたが、まだ作成中のようです: http://quantalea.com/static/app/tutorial%5Cgetting_started%5Ccreate_new_project.html . C# を使用しないため、Fody は使用していません。
f# - Alea がメモリを正しく破棄しない
次の F# コードは、3 回目の呼び出しで no memory 例外でクラッシュします。何かが足りないか、何らかの理由で Alea がメモリを正しく解放していません。F# Interactive と Compiled の両方で試しました。Dispose を手動で呼び出してみましたが、うまくいきませんでした。理由はありますか?
aleagpu - FSI でネイティブ dll を正しく参照する方法、たとえば「Alea.CUDA.CT.Native.X86.B32.Windows」
F# インタラクティブで Alea サンプルを実行すると、次の例外が発生します。
System.UnauthorizedAccessException: パス 'C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Alea.CUDA.CT.Native.X86.B32.Windows' へのアクセスが拒否されました。
Alea ナゲット パッケージを使用しています。