/ /非同期API - c#、.net、非同期、opencl.net

非同期API - c#、.net、非同期、opencl.net

OpenCLは異種プログラミングのためのAPIであることを前提としているため、ほとんどの定義では、それに伴うレイテンシの大きなペナルティがあります。そのため、非同期APIが必要です。

しかし、私はOpenCL.netで非同期APIを見つけるのが難しいと感じています。私は OpenCl.Net.Event 構造体です。 out ほとんどのAPI呼び出しのパラメータ。しかし、私は、とにかくイベントでコールバックを関連づけるためにとにかく見つけることができません。 clSetEventCallback 〜から欠けている opencl.net.

誰も方法を知っていますか? await の非同期操作 opencl.net

編集: 私は人々が少なくともコメントを出すことなくdownvoteするときにそれが嫌いです。記録のために、私は主題の周りのかなりのグーグルを探そうとしていました。現在、OpenCLに関する本を読んでいて、ソースコードをOpenCL.netプロジェクトに無駄にダウンロードしました。 OpenCL.netには貴重な資料はほとんどありません。

回答:

回答№1は1

私はOpenCL.netについてよく知っているわけではありませんが、 CommandQueue あなたは何を探していますか?すべてのあなたのaynchタスクを、 Finish すべてのタスクが完了するまでコマンドを実行しますか?

たとえば、ここでは: OpenCL.NETを使用したGPGPU画像処理の基礎画像処理部

ために clSetEventCallback 私はclFinishまたはclWaitForEventsしか見つけませんでした。

あなたの声明を参照する:

それはclSetEventCallbackがopencl.netから見つからないようです

私はあなたが望むことをするための方法を見つけることができませんでした、申し訳ありません。

EDIT: これは非常に暗いと思われる: Googleコード/ GPUTracer。 OpenCL.csとEvent.csを見てください。私は彼らがあなたの問題を解決したと思う。