パスワードを忘れた? アカウント作成
13280030 journal
日記

miyuriの日記: OpenCL 1.1を使って、所謂JPEGのエンコード 1

日記 by miyuri

ZRL ~ ハフマン符号化の、上手い方法を思い付かない。

Radeon HD 6870, 4:4:4, Q90, interval 8MCU, 875671 Byte, source http://www.toei-anim.co.jp/tv/precure/images/special/wallpaper/01_pc_1920x1080.jpg をデコードして使用
実行時間は、次のような感じ。

ConvertImage(host to device): 0.46789[ms]
DCT, ZZS, Quantize(device to device): 0.48589[ms]
HuffmanEncode(device to device): 11.61356[ms]
Gather(device to host): 1.12467[ms]
合計 13.69201[ms]

画像データをデバイス側に置くのに、10.039[ms]。
ConvertImage ~ DCT, ZZS, Quantizeの間に、1.056[ms]。
DCT, ZZS, Quantize ~ HuffmanEncodeの間に、3.655[ms]。
Gather準備にCPUでの計算を含め、2.355[ms]。
Gather後のロックに、0.098[ms]。
合計 17.203[ms]

ベタなBGRxが有る状態から、エンコード後のデータをCPUが触れる状態にするまで、約31[ms]掛かった。
同じプログラムをCPU(Core i7 2600K)で動かすと、約64[ms]掛かり、HuffmanEncodeには9.31984[ms]要した。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • *.jpgな中身を全て作成して、59[ms]程度。
    多分、CPUだけの1スレッド。

    それと、iGPU(Intel HD 3000)だと、D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS.ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x が立っていなく、ComputeShaderを使えない。

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...