アカウント名:
パスワード:
ついでに圧縮率もちょっと悪くなるけど、並列処理できる分、GPUで高速化できますよって話ですよね。
大量の画像を同時並列的に処理する場合でも高速化できるのでしょうか
可逆圧縮動画コーデック UtVideo の作者の人 [twitter.com]が、
別にそんなことしなくても全体をコア数で分割して並列処理したらコア数倍速くなるという自明な高速化を昔から適用できている
GPUに投げるには処理が軽すぎるので、CPUメモリとGPUメモリの間で転送してGPUで処理するよりCPUで全部処理したほうが速い
と、GPUでハフマン展開を並列処理することそのものに否定的で一蹴してますね。
その人が否定しているのは「UtVideoで使うには」という部分だけでは
こっちはたしかにUtVideo限定のものですが、元コメの質問「大量の画像を同時並列的に処理する場合」にも該当。
こっちは一般論としてハフマン復号をGPU処理することを否定しているかと。
> 別にそんなことしなくても全体をコア数で分割して並列処理したらコア数倍速くなるという自明な高速化を昔から適用できている展開時(ハフマン符号のデコード)にコア数分割するのがそもそも普通のデータ構造だと厳しいって論文だけど、昔から適用出来てるってほんと?
# 圧縮時(ハフマン符号のエンコード)ならそら昔からやってるよね
元コメは、動画コーデックつまり独立した複数のハフマン符号列をデコードする場合の話で、その場合は符号列ごとにコアを割り当てればいい、という話でしょ。
一つの長大なハフマン符号列をデコードする場合、つまり「すごくばかでかいgzipファイルを展開する」とかいった場合には今まで並列化できなかったのが本手法で並列化できるようになるわけですし、今後の展開としてgzipへの組み込みを挙げられてますね。
そのツイートは「元コメ」(大量云々)とは無関係にコア数分割と言ってる様に見えます。レポートの内容を見れば主題は単一ソースのデコード時なのは明確です。これで、エンコード時の話や、複数ソースの同時デコードの話してるならかなり残念ですね。
これ語弊があると思うんだけど、gzipがストリームで頭から展開して中味が読めるってことは、ファイルがでかくても符号列がでかいわけじゃないんじゃないかな。実用上はどっかに仕切りを置いて切ってるんでしょ。
もちろん、大きく見た方が圧縮には有利なんだろうけど、巨大なメモリ展開まで含めて考えると実用的じゃないんでは。
個人的にはdelfate系のデータ列はハフマン符合の連続だけで出来てるわけじゃないのでギャップ配列のデータ構造が複雑化しそうだし、LZ77の圧縮方向はともかく展開方向は並列向きじゃなさそうだし、って事で労多くして功少なしな感じになりそうだけど……
上手く行ったらどんな風に解決するのか見てみたい。
スライド辞書は別の革命が要るから別物になる。
解決しても「今回の発表の手法の発展型」とはとても呼べないだろうね。出来てもハフマンの部分にこのストーリーの手法が組み込まれている、程度では。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
アルゴリズム単体で見ればちょっと遅くなるけど (スコア:2)
ついでに圧縮率もちょっと悪くなるけど、
並列処理できる分、GPUで高速化できますよって話ですよね。
大量の画像を同時並列的に処理する場合でも高速化できるのでしょうか
Re: (スコア:1)
可逆圧縮動画コーデック UtVideo の作者の人 [twitter.com]が、
と、GPUでハフマン展開を並列処理することそのものに否定的で一蹴してますね。
Re: (スコア:0)
その人が否定しているのは「UtVideoで使うには」という部分だけでは
Re:アルゴリズム単体で見ればちょっと遅くなるけど (スコア:1)
こっちはたしかにUtVideo限定のものですが、元コメの質問「大量の画像を同時並列的に処理する場合」にも該当。
こっちは一般論としてハフマン復号をGPU処理することを否定しているかと。
Re: (スコア:0)
> 別にそんなことしなくても全体をコア数で分割して並列処理したらコア数倍速くなるという自明な高速化を昔から適用できている
展開時(ハフマン符号のデコード)にコア数分割するのがそもそも普通のデータ構造だと厳しいって論文だけど、昔から適用出来てるってほんと?
# 圧縮時(ハフマン符号のエンコード)ならそら昔からやってるよね
Re:アルゴリズム単体で見ればちょっと遅くなるけど (スコア:2)
元コメは、動画コーデックつまり独立した複数のハフマン符号列をデコードする場合の話で、
その場合は符号列ごとにコアを割り当てればいい、という話でしょ。
一つの長大なハフマン符号列をデコードする場合、つまり「すごくばかでかいgzipファイルを展開する」とかいった場合には
今まで並列化できなかったのが本手法で並列化できるようになるわけですし、
今後の展開としてgzipへの組み込みを挙げられてますね。
Re: (スコア:0)
そのツイートは「元コメ」(大量云々)とは無関係にコア数分割と言ってる様に見えます。
レポートの内容を見れば主題は単一ソースのデコード時なのは明確です。
これで、エンコード時の話や、複数ソースの同時デコードの話してるならかなり残念ですね。
Re: (スコア:0)
これ語弊があると思うんだけど、gzipがストリームで頭から展開して中味が読めるってことは、ファイルがでかくても符号列がでかいわけじゃないんじゃないかな。実用上はどっかに仕切りを置いて切ってるんでしょ。
もちろん、大きく見た方が圧縮には有利なんだろうけど、巨大なメモリ展開まで含めて考えると実用的じゃないんでは。
Re: (スコア:0)
個人的にはdelfate系のデータ列はハフマン符合の連続だけで出来てるわけじゃないのでギャップ配列のデータ構造が複雑化しそうだし、LZ77の圧縮方向はともかく展開方向は並列向きじゃなさそうだし、って事で労多くして功少なしな感じになりそうだけど……
上手く行ったらどんな風に解決するのか見てみたい。
Re: (スコア:0)
まさにそれが従来なかった点。
従来の問題は必ず頭から読まなきゃいけなかったけど、
今回のは途中から読めるようにしたので展開処理を並列化できるようになったと言う話。
予めデータ分割してから圧縮しておけば従来方式でも並列化可能と考えるとイマイチ萌えないけど、
何も考えなくてもgunzipが早く終わりますと言われれば悪くはない。
Re: (スコア:0)
スライド辞書は別の革命が要るから別物になる。
解決しても「今回の発表の手法の発展型」とはとても呼べないだろうね。
出来てもハフマンの部分にこのストーリーの手法が組み込まれている、程度では。