めも 時々書き換える
概要
http://neareal.com/2601/
長所短所、効率等
https://wlog.flatlib.jp/item/1425
DirectCompute だとどうなってるか
https://wlog.flatlib.jp/item/1411
構成要素
シェーダー
バッファ
カーネル カーネルID
スレッド スレッドグループ
定数バッファ
実行はグループ数を指定 (x,y,z)
1グループにつき (x,y,z) スレッドを実行
バッファは普通にランダムアクセスする
実行中のスレッドIDを得ることが可能、バッファアクセスに利用できる
グループIDも取得可能
定数バッファは他のシェーダと同じ
コンピュートバッファは1次元、テクスチャバッファは2次元、という感じ
RW は書き込み可能
StructuredBuffer
AppendStructuredBuffer/ConsumeStructuredBuffer
バッファタイプ
Default structured buffer
Raw byte address buffer
Append AppendStructuredBuffer/ConsumeStructuredBuffer
Counter よくわかんない、カウンタ付きの structured buffer
IndirectArguments DrawIndirect 系に渡すための引数バッファ(dword*5)
DX11では
リソースとその使用方法としてのビューという概念があるみたい
同じリソースを複数のビューから扱えるもよう
リソースはバッファとテクスチャに分けられるみたい
--------
リソース
Texture/RWTexture
Buffer/RWBuffer
ByteAdddressBuffer/RWByteAddressBuffer
StructuredBuffer/RWSturcturedBuffer
ConsumeStructuredBuffer/AppendSturctutedBuffer
ビュー
ShaderResourceView (SRV) R
UnorderedAccessView (UAV) R/W
RenderTargetView (RTV) W
DepthStencilView (DSV) W
この辺は Unity では隠されているかんじ?
-------
バッファ
CopyCount() バッファ間でカウントをコピーできる
・おそらくCPUを介せずにGPU内で可能なんだと思う
SetCounterValue()
・カウンタをセットできる 定数バッファの SetXxxx() と同じ感じなんじゃないかな
・よくわからないが、たぶん内部がどうなってるとかは考えずに使用していける感じか?
・要素の追加/取得と現在状態(カウンタ)だけ管理すればいいみたいな
SetData( nativeArray, arrayStart, bufferStart, elementCount )
・任意の位置へのアクセス
・帯域も節約できるんだろうか
・複数個所に細かく SetData() した場合の転送効率はどうなんだろう
2018年12月9日日曜日
登録:
コメントの投稿 (Atom)
ニューラルネットやってみてる
最近ニューラルネットやってみてる 理屈を学ぼうと思って、まずはオブジェクト的に作ってみてる (ベクトル化とかは後回しで) sigmoid, tanh, ReLU MSE, cross entorpy あたりを小規模にいじってみてます でも今 soft max の逆伝...
-
VBAでラムダのようなものを使いたくて試行錯誤中 まずは引数として渡せる関数の再現 試行錯誤の履歴 ・Application.Run() … 名前文字列で指定する 重め 参照引数が使えない Appli...
-
Linq で、オペレータのオブジェクトは全部クラスなわけで、Unity でフレーム内で使用するにはGC的にヤダなぁ、というのがあると思うんです(速度的な面はいいとして) オペレータってのは遅延実行できて、使いまわすことができるのですが、 そうすると列挙ソースだけ変更したいな...
-
async/await await XxxxAsync(); と記述した時、XxxxAsync() が終了するまで制御をOSに返し、 それ以降の実行を待機する仕組み async 関数を await で実行 void を返す ... fire ...
0 件のコメント:
コメントを投稿