FFmpeg、アセンブリ言語で書き直したところ94倍の高速化に成功😳 | AIに最適化させろよ

1 【鶴】 (ジパング) [CN] xFvWLnU40 BE:323057825-PLT(12000) 2024-11-11 18:15:08
sssp://img.5ch.net/ico/999991500948658.gif

ビデオ・オーディオを扱うアプリの多くで採用されているオープンソースライブラリ「FFmpeg」で、驚くべきパフォーマンス向上が達成されました。

アセンブリ言語(assembly)を手書きすることで、94倍も処理速度が向上したとのこと。

この試みが行われたのはAV1デコーダー「dav1d」においてですが、もともと約8%がアセンブリなのだそうです。

そのほかはC/C++言語のソースコードとして記述され、CPUが直接理解できる機械語にコンパイル(変換)された上で実行されています。

 しかし、コンパイラーによる変換に頼らず、人の手でアセンブリを記述し、最新CPUに搭載されている「SSSE3」「AVX2」「AVX-512」といった拡張命令を積極的に活用することで、思った以上の効率化が実現できたのだとか。

 コンパイラーもそうした最新のCPU拡張命令を活用するオプションがあり、人手を介さなくてもかなりの最適化を行ってくれるはずですが、細部には改善の余地が多く残されているのかもしれません。

もしかすると、将来バージョンの「FFmpeg」はかなり速くなる……のかも。そうなれば、「FFmpeg」を採用するアプリにも恩恵は大きいでしょう。

 「FFmpeg」の開発チームは、近いうちにこのアプローチに関するチュートリアルを提供するとしています。

筆者の手には負えそうにありませんが、興味ある方はウォッチしてみるとよいでしょう。

マルチメディアライブラリ「FFmpeg」がアセンブリ言語の手書きで爆速になったという報告

https://forest.watch.impress.co.jp/docs/serial/yajiuma/1638345.html


国民・玉木代表の例の報道の件、情報の出所は「皆様、御存知のあそこ」だという情報がSNSで拡散

【画像あり】 政治家さん、口を滑らすwwwwwwwwwwww

【超速報】 中国通販の『Temu』、完全終了のお知らせ・・・・・

【悲報】 首相指名選挙でタマキン寝る

近所の放置子が納屋に侵入→放置子『ギャアアアアアーーー!!!!』大絶叫で家中飛び起きて納屋に行くと大惨事…放置子の片手の指が・・・・

【衝撃動画】 金持ちの国ドバイ、マヂで逝く・・・・・・・

石破首相、第103代首相に 衆院決選投票で首相221票

現金払い拒否されたので通報したったwww

【画像】 夜道でこんな家出メスガキが声かけてきたらwwwwwwwww

日本人に成りすまし30年以上、アジア系ロシア人のスパイ疑惑が浮上…旧KGB所属か!

21名無しさん@涙目です。(やわらか銀行) [GB] JjCoQ8ew0 2024-11-11 18:25:51
>>1

AV1デコーダー限定じゃ、使い道がないなw

36名無しさん@涙目です。(みょ) [CN] 0gKfk8O30 2024-11-11 18:35:22
>>1 よ。お前みたいな奴をみると、あの日のことを思い出すよ。

2001年8月25日。

2ちゃんが本格的に閉鎖になりかけた日だよ。

転送量が多すぎて、費用が月700万もかかってるって発表されて、「数日中に閉鎖」って予告されてさ、

その日のうちにあっちこっちの板が封鎖されてた日だよ。

あのときのUNIX板の住人、カッコよかったんだぜ。「総力を結集」ってのはまさにああいう状態だよ。

転送量を1/3に削減しないと閉鎖、ってもんだから、

新しいプログラム組んでさ、そしたらほんの何時間かで完成したんだよ。

それが聞いてくれよ、目標は1/3だったのに1/16まで圧縮に成功しやがったんだよ。

職人技なんてもんじゃねえよ、神技だよ。

でもよ、そうやって頑張る人がいた一方で、

「ボクの肛門も閉鎖されそうです」とか駄スレ立ててたバカもいたわけだよ。

ちょうど、今のお前みたいにな。

だからよ、俺たちは総力を結集して、お前のバカ度を1/16に圧縮しようと思うよ。

ま、それこそ神技をもってしても無理だろうけどな

213 警備員[Lv.62](茸) [US] SJCZlfW30 2024-11-11 23:52:32
>>36

これひろゆきが無能なだけなんだよな

httpの圧縮なんて基本的な事をやってなかったし出来なかっただけっていう

191名無しさん@涙目です。(東京都) [MX] 2KWsWUtk0 2024-11-11 22:28:33
>>1

アセンブラは天才が執筆すると爆速高速化するけど大半が無能のゴミなので逆効果になりそう。

214名無しさん@涙目です。(大阪府) [JP] iS/DEyLQ0 2024-11-11 23:57:28
>>1

原文までは面倒くさくて読んでないけど、要するに、

> 最新CPUに搭載されている「SSSE3」「AVX2」「AVX-512」といった拡張命令を積極的に活用

この最適化を、コンパイラの最適化オプション以上に「人力で」やってのけたという話か。

大した根性だな!w

4名無しさん@涙目です。(大阪府) [US] seZCdwoh0 2024-11-11 18:17:58
今でもエムペグ動画とか使ってる奴いるの?

172名無しさん@涙目です。(北海道) [ニダ] f5g+qCsH0 2024-11-11 21:27:41
>>4

MP4ありますやん

198名無しさん@涙目です。(大阪府) [US] afnM9Bj40 2024-11-11 22:46:16
>>172

ffmpgでmp4作れるの?

205名無しさん@涙目です。(茸) [US] GugShqtg0 2024-11-11 23:14:41
>>198

デコーダなんだが

206名無しさん@涙目です。(埼玉県) [EU] oi43BhPn0 2024-11-11 23:28:44
>>205

エンコードできるだろ……

225名無しさん@涙目です。(茸) [US] Bf5E34sl0 2024-11-12 03:29:15
>>206

実際やる奴おらんやろ

9名無しさん@涙目です。(みかか) [US] o85zTIi60 2024-11-11 18:18:44
AIに最適化させろよ

41名無しさん@涙目です。(みょ) [JP] ZnSTNFje0 2024-11-11 18:38:22
>>9

だな

73名無しさん@涙目です。(庭) [US] 3PNHKzq50 2024-11-11 19:02:23
>>9

> AIに最適化させろよ

人の手で書いたら早くなったんだよ


たばこ代15,000円→1,000円 / 月

99名無しさん@涙目です。(神奈川県) [US] 46+lkt8F0 2024-11-11 19:33:30
>>9

無理

AIは自分で考えることはできない

アセンブラは高度に最適化させないと難しいので、AIで書くのは不向きって言われてる

110名無しさん@涙目です。(東京都) [JP] InjKSAmF0 2024-11-11 19:42:45
>>99

時間の問題だな

152名無しさん@涙目です。(神奈川県) [KR] U6cCKAhA0 2024-11-11 20:30:53
>>110

時間の問題ではあるが近い未来の話ではないと思うわ

137横山やすし(埼玉県) [US] x6II5QBD0 2024-11-11 20:11:14
>>99

囲碁も人間の名人に勝てないと言われていたが今は昔

140名無しさん@涙目です。(東京都) [US] B+VB27+60 2024-11-11 20:17:56
>>137

囲碁はまだ人間の名人には勝てんよ。

Googleのアルファ碁が韓国人のイ・セドルに勝てたのはAIが勝ちやすい相手をシミュレーションして選んだから。

韓国人棋士は記憶力で定石を大量に暗記して序盤でタイムを短縮して、後半でじっくり時間をかけて相手の時間切れを誘うという戦術を取る人が多い。

この戦術は時間制限がキツイ国際ルールでは強いんだけど、高速で演算・検索できるコンピューターの方が得意分野だから、アドバンテージがAIの方にあったわけね。

それに対して日本人の棋士は序盤で変則的な戦術を試すからAIの予想外の手を打って来るのでシミュレーションではAIが勝てず日本人棋士との対戦を一度もやろうとしなかった。

219名無しさん@涙目です。(東京都) [ニダ] WsrzPGB90 2024-11-12 02:01:40
>>140

何言ってんのこいつ

アルファ碁に勝てる人間なんて1人もいねえよ

恥ずかしくないのか

220名無しさん@涙目です。(やわらか銀行) [CN] bnqiGzeA0 2024-11-12 03:08:12
>>219

俺の股間のAIなら勝てる

226名無しさん@涙目です。(東京都) [IT] Ye4XIL5K0 2024-11-12 03:32:03
>>140

だな

朝鮮石置きの碁を選んだのはただのステマと投資詐欺のため

囲碁のAIって負けたって

1年前か

まあ何度もいたちごっこかもしれないが

AIなんてゴミだから

224名無しさん@涙目です。(東京都) [IT] Ye4XIL5K0 2024-11-12 03:27:40
これでやっと

スーファミエミュのZSNESの鬼畜ソースコードのテクノロジーに追いつくか

>>99> >110

出来るわけがないだろ

できるなら既存のコンパイラやAIでとっくの昔にやってて

とっくの昔に世間の省電力に貢献してる

画像認識で解決した

囲碁(笑)が宇宙のようだ、どころじゃない

無限の組み方があるのがアセンブリ言語

プロセッサごとにキャッシュ、レジスタ、パイプラインの構造も違うから

中間言語で済むような生ぬるい世界でもない

いわゆるforやwhileだけでも

ジャンプ命令で戻るか先進むかだって自由だし

比較命令をどう挟むかだって既存のコンパイラですら端にないことがしばしば

139名無しさん@涙目です。(やわらか銀行) [US] 3pioBpUZ0 2024-11-11 20:15:22
>>9

コンパイラがそういう性質ありきだろ

AIや自己学習でなくても

コンパイラの見直しからしとけ

インタプリタよりかなり速く慣れるはずだ

96 警備員[Lv.52](茸) [ニダ] z4w1S/U20 2024-11-11 19:30:45
そういうのはAIとやらで何とかならないものなのかな?

98名無しさん@涙目です。(東京都) [US] B+VB27+60 2024-11-11 19:33:17
>>96

ジャンプ命令を使わず、ループを同じ命令を何度も書くとかは出来そうだけど今時のCPUでクロック削ったからと言って、そんなに速くなるもんかね?

101名無しさん@涙目です。(茸) [US] yZSCIjoz0 2024-11-11 19:34:37
>>98

Cから使うSSEとかインラインアセンブラだったような

115名無しさん@涙目です。(大阪府) [US] tF0sJfFy0 2024-11-11 19:51:02
>>96

以前某板で

ChatGPTにM68kのアセンブリコード生成させてたけど

速度的にいまいちで

いちいちここはもっと速いパターンがあるから変えろってプロンプトの連打になった

142名無しさん@涙目です。(東京都) [FR] PDWLkxt00 2024-11-11 20:20:50
>>115

「どこそこの処理のこの部分でクロックが最小になる様に最適化して」

ってやったら書き直してくれそうだけど、そこまでやっても駄目な感じ?

161名無しさん@涙目です。(大阪府) [US] tF0sJfFy0 2024-11-11 20:45:44
>>142

指示すればやってくれる

指示しないといい加減なコードが生成される可能性があるので

全てを指示する必要がある

自分でやった方が早い

104名無しさん@涙目です。(茸) [US] yZSCIjoz0 2024-11-11 19:36:19
X68000にはアセンブラ使いがたくさんいた

105名無しさん@涙目です。(庭) [CA] qCrlu3vj0 2024-11-11 19:38:42
>>104

8ビット機は割と組める人はいたな

16ビットあたりから愕然と減った

それ以上は組める奴はどこにいっても重宝がられた

106名無しさん@涙目です。(茸) [CN] DoUCKwbT0 2024-11-11 19:38:58
>>104

素人でよくわからんが失われた技術でプログラミングし直したら無双したってこと?

109名無しさん@涙目です。(神奈川県) [US] 46+lkt8F0 2024-11-11 19:41:18
>>106

昔は今みたいな高級言語が無かったから、特殊なことをやろうとしたらアセンブラで組まざるを得なかったんだよ

111名無しさん@涙目です。(茸) [CN] DoUCKwbT0 2024-11-11 19:45:43
>>109

へー童話の青い鳥みたいな話だな

幸せを運んでくれる青い鳥を散々世界各国巡って探したけど見つからず悲嘆にくれて自宅に帰ると自宅にいた

みたいなさ

125名無しさん@涙目です。(東京都) [US] B+VB27+60 2024-11-11 19:58:42
>>111

なんか違うw

OSが今みたいに何でもやってくれなかったから、IO処理とかグラフィックはアセンブラでVRAMに直接書きこんでいた。

Aという文字を出すのですら、VRAMのアドレスに1と0で書きこんでON/OFFしてたんだよ。

149名無しさん@涙目です。(ジパング) [ニダ] h91b1fnb0 2024-11-11 20:27:33
>>109

8ビット機は流石になかったけどX68000、PC-9801辺りの16ビット機は昔から高級言語あったでしょ

118名無しさん@涙目です。(東京都) [US] B+VB27+60 2024-11-11 19:53:41
>>104

MC68000はシンプルだったから可能だったけど、80286とかでやれと言われたら死ぬわ。

【悲報】 ワイ、レジで不正しただけで完全に人生終了wwwww

【画像】 エイ、アザラシに食べられる・・・・

「鳩…?サブレ……?を配ったら好評だった」と報告した人、『鳩サブレー』だと鳩サブレー警察に逮捕されるも……

トランプ「不法移民を強制送還」トランプ陣営「優遇停止」トランプ「人身売買は死刑」ディディ「性的人身売買(逮捕」デーブスペクター「玉木引き合いにトランプ批判」→

激戦7州、トランプ7勝・ハリス0勝で確定wwwwwwwwwwwwwwwwwwwww

【マヂかよ】 国民民主・玉木代表の不倫相手、ヤバすぎる事実・・・

【動画】 置き配の盗難にあった家主が配達物の代わりに爆発物を置いた結果

【画像】 玉木雄一郎の不倫密会現場画像、グラドルの服装が完全に財務省が仕掛けた罠にしか見えないwwwwwwwww

【衆議院議長 選挙】 大石あきこ、投票に必要な木札を忘れ取りに戻される


参照元:hayabusa9.5ch.net/news/dat/1731316508.dat

アノニマス
アノニマスお面 499円


たばこ代15,000円→1,000円 / 月

コメントを投稿