0

Visual Studio 2012 Professional で Alea GPU プロジェクトを作成するために、次のことを行いました。

  1. ファイル > 新規 > プロジェクト > F# アプリケーション
  2. NuGet パッケージ マネージャーを最新バージョンに更新
  3. ツール > NuGet パッケージ マネージャー > コンソール
  4. PM> インストール-パッケージ Alea.CUDA
  5. PM> インストール パッケージ Alea.CUDA.IL
  6. これらの手順を使用してインストールされたライセンス: http://quantalea.com/static/app/tutorial%5Cgetting_started%5Cinstall_license.html
  7. ここからコードをコピーしましたhttps://github.com/quantalea/AleaGPUTutorial/blob/master/src/fsharp/getting_started/ParallelSquare.fs私のメインプロジェクトファイルに。
  8. ビルド ソリューション。

次のエラーが表示されます。 ここに画像の説明を入力

  1. 上記の 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 は使用していません。

4

1 に答える 1

3

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.xmlFody の使用を構成するファイルを作成するためにいくつかの powershell スクリプトを実行する必要があるため、このスクリプトは F# プロジェクトではうまく機能しません (C# プロジェクトでは機能します)。回避策は簡単です。実行する前に、VS2012 で [すべて保存] をクリックするだけですInstall-Package Alea.CUDA.Fody。パッケージ マネージャー コンソールに赤いエラーが表示されますが、これは問題ありません。Fody プラグインのスクリプトが F# プロジェクトでうまく機能しないだけです。無視しても問題ありません。installAlea.CUDA.Fodyの後、ファイルFodyWeavers.xmlfile がプロジェクトに追加され、そこで 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 コンパイルなどについて説明しています。

于 2015-07-16T06:19:12.710 に答える