Web サイトの問題を報告していただきありがとうございます。はい、私たちの文書は作成中です。私はあなたの手順を試してみましたが、それを正しく行う方法を見つけました。これについては後で説明します。遭遇した問題の主な理由は次のとおりです。
- VS2012 を使用していますが、これはデフォルトで少し古い FSharp 3.0 を参照しているため、FSharp 3.1 を使用することをお勧めします。
- NUnit や FSharp.Charting など、コードで使用されている他のアセンブリを参照するのを忘れている
- Alea.CUDA.Fody は C# で作業することを意味するのではなく、GPU コードで AOT コンパイルを行うことを意味します。Fody プラグインを使用して MSBuild プロセス中に GPU コードをコンパイルするため、アプリケーションは実行時に GPU コードをコンパイルする必要がありません。
さて、ここに手順があります:
- VS 2012 を開き、nuget プラグインをアップグレードしてから、新しい F# コンソール アプリケーション プロジェクト
- ソリューション エクスプローラーで [参照] を展開し、
FSharp.Core
参照を削除します (FSharp 3.0 であるため、新しい 3.1 に置き換えます)。
- 「パッケージ マネージャー コンソール」に移動し、コードで使用されているいくつかの nuget パッケージをインストールします。
Install-Package FSharp.Core
Install-Package FSharp.Charting
Install-Package NUnit
- 次に、インストール
Alea.CUDA.Fody
します (依存関係によって Alea.CUDA がインストールされます)。しかし、Fody プラグインは、FodyWeavers.xml
Fody の使用を構成するファイルを作成するためにいくつかの powershell スクリプトを実行する必要があるため、このスクリプトは F# プロジェクトではうまく機能しません (C# プロジェクトでは機能します)。回避策は簡単です。実行する前に、VS2012 で [すべて保存] をクリックするだけですInstall-Package Alea.CUDA.Fody
。パッケージ マネージャー コンソールに赤いエラーが表示されますが、これは問題ありません。Fody プラグインのスクリプトが F# プロジェクトでうまく機能しないだけです。無視しても問題ありません。installAlea.CUDA.Fody
の後、ファイルFodyWeavers.xml
file がプロジェクトに追加され、そこで AOT コンパイルの実行方法を構成できます。詳細情報を表示する設定を追加することをお勧めします。<Alea.CUDA Verbose="true"/>
- パッケージがそれらを使用するため、いくつかの一般的な参照を追加する必要があり
FSharp.Charting
ます。これを行うには、ソリューション エクスプローラーで [参照] を右クリックし、[参照の追加...] を選択し、[アセンブリ] -> [フレームワーク] で次のアセンブリを選択します。
System.Drawing
System.Windows.Forms
System.Windows.Forms.DataVisualization
- これでプロジェクトが設定されました。建物構成を「公開」に変更してください。
- ソースファイルを追加しましょう。最初
Program.fs
にソリューション エクスプローラーで右クリックし、[上に追加] -> [新しい項目...] を選択し、F# ソース ファイルを選択し、名前を付けます。ParallelSquare.fs
- https://github.com/quantalea/AleaGPUTutorial/blob/master/src/fsharp/getting_started/ParallelSquare.fsを新しく作成したファイルにコピーします
- 1 か所を変更する必要があります: https://github.com/quantalea/AleaGPUTutorial/blob/master/src/fsharp/getting_started/ParallelSquare.fs#L139、これを に変更します。
WorkerExtension.Launch(worker, <@ squareKernel @>) lp dOutputs.Ptr dInputs.Ptr inputs.Length
理由は、Launch
メソッドが拡張メソッドであるためです。 VS 2012 の FSharp コンパイラはそれを十分にサポートしていないため、その拡張メソッドを直接呼び出します (したがって、VS 2013 を使用することをお勧めします)。
Program.fs
ファイルで、メイン関数でテストを呼び出します: Tutorial.Fs.quickStart.ParallelSquare.squareChart()
. その後、「F5」を押して実行できます。
この後、http: //quantalea.com/static/app/manual/compilation-index.htmlを読むことをお勧めします。ここでは、インストール、AOT 対 JIT コンパイルなどについて説明しています。