スポンサーリンク

C言語コードを解析して3.42倍高速化するコンパイラ等のβ版公開 [439992976]

未分類
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

1 ::2021/07/08(木) 08:17:34.24 ID:4ee6pPVc0●.net ?PLT(16000)
https://img.5ch.net/ico/morara.gif
オスカーテクノロジーは2021年7月1日、
C言語コードの高速化を支援するソフトウェア「OSCAR Multicore Suite」のβ版を公開したと発表した。
β版公開中は無料で使用可能で、β版ユーザーのフィードバックを基に改善を加えた商用版を提供する予定だ。

同ソフトウェアは、
「OSCAR Multicore Estimator」「OSCAR Multicore Profiler」「OSCAR Parallel Compiler」と3つの機能を有しており、
いずれもC言語で開発したソフトウェアのソースコードを対象としている。
条件分岐が多く、ループ処理の少ないプログラムにも適用できる。

OSCAR Multicore Estimatorは並列化用のコード解析機能で、
さまざまなコンピューティング環境での実行時間を予測する。
マルチコアCPU上での並列動作時の計算も可能で、並列化の可否や計算のボトルネックなどを解析してレポートを出力する。

OSCAR Multicore Profilerは、プログラムの処理時間実測用のサポート機能となる。
動的なプロファイルを得るためのコードを自動で挿入し、さまざまな処理時間の計測を支援する。
時間測定のオーバーヘッドを最小化すべく、プロファイル取得のコード挿入位置を自動で判定する。

OSCAR Parallel Compilerは自動並列化コンパイラで、
シングルスレッド用のソースコードをマルチコア環境に応じたコードに変換する。
ループ処理だけでなく、マルチグレイン並列化と称されるタスクレベルでの自動並列化も可能だ。

同ソフトウェアを用いることで、並列化の知識があるエンジニアなしでも開発を進められる。
また、プロトタイプ開発や手動での高速化改修の予算がないソフトウェア開発においても、コンピュータの性能を引き出せる。

バイオ分野で顕微鏡画像の加工に用いられるオープンソースソフトウェア「TeraStitcher」に同ソフトを適用したところ、
4並列化で3.42倍高速化することが確かめられた。並列化の作業時間は、実行ファイルの生成を含めて約7分となった。

<画像>
「OSCAR Multicore Suite」による並列化解析結果イメージ(写真:MONOist)

https://news.yahoo.co.jp/articles/7bb921b0396cfda5012e4525ce028df7a2fd84a5/images/000

8 ::2021/07/08(木) 08:28:49.79 ID:Ahp3tTkq0.net

負荷がヤバそう

42 ::2021/07/08(木) 10:27:55.27 ID:EQJiajTv0.net

鼻から悪魔がでてくるコンパイラか

18 ::2021/07/08(木) 08:41:33.27 ID:/QxKqy7S0.net

↓これも最適化されてしまうん?
// このループは触るな

48 ::2021/07/08(木) 11:27:55.61 ID:96qr3WwM0.net

>>6
バグだらけになる

41 ::2021/07/08(木) 10:17:13.93 ID:8b7hkQyN0.net

これって昔あったVLIWコンパイラの応用みたいなもの?

38 ::2021/07/08(木) 10:00:29.68 ID:A8E8ofMt0.net

麻宮騎亜って
今、何やってんだ?

66 ::2021/07/08(木) 20:20:53.44 ID:iIhJG1fO0.net

コンパイラって元からそういうもんじゃないの?

13 ::2021/07/08(木) 08:35:14.67 ID:Hp6daFOn0.net

こんなの対象とするコンパイラは違えど30年以上前の技術だよ
プリコンパイラでソースを最適化するってだけ。何を今更

45 ::2021/07/08(木) 10:58:00.82 ID:DIlbY6Ow0.net

>>32
猫未満な

83 ::2021/07/09(金) 19:00:18.95 ID:2ePHzoRF0.net

IOポートの空アクセスでタイミング出したりNOPでタイミング出したり

76 ::2021/07/09(金) 07:14:22.64 ID:rgIxps590.net

>>12
ワロタw ミリ秒制御して割込処理したりするからな

77 ::2021/07/09(金) 07:16:24.31 ID:qWfj8Due0.net

エロゲも高速化できるかな

17 ::2021/07/08(木) 08:39:47.60 ID:rp5JhOXm0.net

>>5
それ昔のコンパイラでもオプティマイズの設定するとやってるよ。
そんなに新しい話ではないと思う。

29 ::2021/07/08(木) 09:22:58.98 ID:xs/c4OHI0.net

スゲーな(´・ω・`)

24 ::2021/07/08(木) 09:00:25.59 ID:ggUTbFid0.net

>>11
ジャンルによる
後C#なんかはまだまだ体感できるレベルで遅い

72 ::2021/07/08(木) 22:02:55.80 ID:JLM4kt680.net

エヴヮで

伊吹摩耶 「すンごおい!これなんてイントのシーよーぉ!!WW」

なんて場面があったけどシーのイントなんじゃないの(´・ω・`)?

52 ::2021/07/08(木) 11:49:48.51 ID:t7pijWX/0.net

得られるパフォーマンスはどのようなハードウェアに最適化するのかによる

4 ::2021/07/08(木) 08:24:02.78 ID:5J9nJ44q0.net

>>1
>シングルスレッド用のソースコードをマルチコア環境に応じたコードに変換する。

ゴミカスみたいなfor文ネストモリモリコードもいけるんか?

65 ::2021/07/08(木) 20:15:18.35 ID:tl6MHBjp0.net

つうか普通にコーディングする際にもシングルマルチの意識して書くだろ?シングルとかそういうのだよ。
暴走する云々言ってるやつの書いたコードは遅かれ早かれサーバリプレースでバグる。

64 ::2021/07/08(木) 20:14:00.28 ID:yOMOZy230.net

教科書に載ってるだろコンパイラとOSとCPUの作り方は

43 ::2021/07/08(木) 10:42:18.31 ID:jJ9rFqNW0.net

のーみそこねこね

33 ::2021/07/08(木) 09:44:41.22 ID:KiIdcpgG0.net

あれは著者の脳みそが猫程度ってだけだよ

69 ::2021/07/08(木) 21:43:30.16 ID:Ea/jvwfb0.net

で、マルチコア化されたそのコードはシングルコアに持ってっても動くのかね。

55 ::2021/07/08(木) 13:25:09.09 ID:Y2ybFYqM0.net

>>50
上から順に処理することしか考えずに作ったコードをコンパイラがマルチスレッド対応にしたらメモリ管理がおかしくなってバクだらけになるのは当たり前やん

44 ::2021/07/08(木) 10:56:29.52 ID:Hho7rzto0.net

>>11
ハードの性能が頭打ちだからソフト的なアプローチには需要あるよ

46 ::2021/07/08(木) 10:58:12.11 ID:JcaRF+KS0.net

オッパイパイ

70 ::2021/07/08(木) 21:51:46.86 ID:hBtQIrEH0.net

そんなのどうでもいいけど NTTドコモは もっといいプログラムはないのか。
ややこしくて 出来なくて 馬鹿みたいに機能性がない。糞の様な韓国電話機

36 ::2021/07/08(木) 09:59:24.74 ID:0BrBPNTC0.net

>>35
コンパイラだからコードは変更しないよ

11 ::2021/07/08(木) 08:32:56.86 ID:zivrPEAqO.net

今時高速化なんて求められてるの?
20年前とかならともかく

74 ::2021/07/09(金) 07:11:45.53 ID:rQbsxzl30.net

シングルスレッド限定で並列化して高速化するってだけだろ

それも一番効果がありそうな画像処理で3.42倍だから、普通のPGが最初から並列処理してれば効果はほぼゼロだろうな

74 ::2021/07/09(金) 07:11:45.53 ID:rQbsxzl30.net

シングルスレッド限定で並列化して高速化するってだけだろ

それも一番効果がありそうな画像処理で3.42倍だから、普通のPGが最初から並列処理してれば効果はほぼゼロだろうな

57 ::2021/07/08(木) 14:05:23.93 ID:20GbPQjp0.net

intelのコンパイラとどっちが早いの

68 ::2021/07/08(木) 21:24:39.69 ID:ZuIaHlu50.net

>>1
なるほど

よくわからん

35 ::2021/07/08(木) 09:55:18.65 ID:bcbKf0Fj0.net

これ最適化された後のコード読み解けるのか心配。インアウトが確定出来るなら生成元を残しておいて元コードいじるとかならないといいけど。

23 ::2021/07/08(木) 08:56:15.18 ID:XxQI/Tvg0.net

>>12

78 ::2021/07/09(金) 07:38:43.39 ID:KbyVqYnh0.net

レジスタに書き込稀でないのにシフトが動いて計算結果狂うとかありそうだな

71 ::2021/07/08(木) 21:54:07.97 ID:mY9l2D2h0.net

ヤバいね
調べないけど、どんな会社、どこの国だろうね
片っ端からソースコード流出

28 ::2021/07/08(木) 09:22:18.65 ID:Q0Wy16Ta0.net

デバッグ大変そう

5 ::2021/07/08(木) 08:24:07.93 ID:zpZg3+Lp0.net

>>3
回数の多いループ処理を並列化して高速化してる
これは普通のコンパイラの最適化には含まれない処理内容

73 ::2021/07/09(金) 01:22:03.49 ID:aFv9pD0Z0.net

>>58
Cぷらぷらのコンパイラからバグがある程度なくなるのに何年かかったよ

12 ::2021/07/08(木) 08:33:36.90 ID:rl++3T3a0.net

ちょっと!ループさせて速度調整してるんだから辞めてよ!

22 ::2021/07/08(木) 08:54:19.12 ID:pz/q8wXP0.net

>>11
求められてなかったらFPGAで専用高速プロセッサを構成しようとかが流行ってないな

21 ::2021/07/08(木) 08:52:23.75 ID:ggUTbFid0.net

>>18
片っ端からvolatile入れとけ

37 ::2021/07/08(木) 10:00:21.23 ID:+369uZyu0.net

>>20
256本まだ何冊か持ってるわ

27 ::2021/07/08(木) 09:21:37.80 ID:ZaYOWyS00.net

文句ばっかしか言わないんだなお前ら
上司とか同僚とか友達に絶対なりたくないタイプw

7 ::2021/07/08(木) 08:27:39.58 ID:e1h81LyW0.net

最適化したら
動かなくなるあれ

34 ::2021/07/08(木) 09:46:43.58 ID:gqal0ET60.net

組込みやってた時にCだと遅くて処理しきれないモジュールだけアセンブラで書いたな
元々大型汎用出身だからz80屋みたいな書き方できなくてもアセンブラならそれなりに処理が高速になったな

53 ::2021/07/08(木) 12:03:54.85 ID:DBLUmkvW0.net

これで富嶽に勝てるな

56 ::2021/07/08(木) 13:58:07.46 ID:7N1HlidD0.net

ループの中のサブルーチンコールのオーバーヘッドを無くすために
プリコンパイラでベタに展開した思い出

61 ::2021/07/08(木) 15:58:12.70 ID:5IoG2obB0.net

お前ら底辺ITドカタじゃこんな高度なソフトは
とてもじゃないけど開発できないだろうな

コメント

タイトルとURLをコピーしました