ニュース

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

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

>>12

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

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

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

>>1
なるほど

よくわからん

58 ::2021/07/08(木) 14:45:39.05 ID:p/Ggrj9T0.net

>>55
それが出来る言ってるわけだよね
だっらバグ出ないんだろ

バグが出るとしたら元々コードがバグってる

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

デバッグ大変そう

14 ::2021/07/08(木) 08:35:58.55 ID:ggUTbFid0.net

滅多に起きない解析困難なバグとか発生しそう…

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

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

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

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

80 ::2021/07/09(金) 07:50:59.80 ID:TvUjxjqW0.net

コードレビューしてくれるようなツールは昔からあるよね。
コンパイラがワーニング出すのも近いけど。ショート型にロング型入れとるぞ、とかその逆とか。

ループ回数がショートの限界ぎりぎりで、三回に一回2づつカウントアップする変数がショートだったらコンパイル時に怒られるのかな?

6 ::2021/07/08(木) 08:25:13.13 ID:Q3TIRmrL0.net

シングルスレッドでダラダラ処理するソースコードを勝手にマルチスレッドにして処理させるから速くなるよって奴か

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

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

30 ::2021/07/08(木) 09:30:05.29 ID:a0WHBbL20.net

巧妙な麻宮スレ

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

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

62 ::2021/07/08(木) 16:07:42.87 ID:p/Ggrj9T0.net

そもそもコンパイラすら作れないだろドカタには

3 ::2021/07/08(木) 08:20:36.33 ID:2i9YHITW0.net

c言語コードを解析して高速化って普通の最適化あり設定のコンパイラじゃないの?

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

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

10 ::2021/07/08(木) 08:31:35.97 ID:G/6EPG8m0.net

>>1
ちょっと何言ってるか意味がわかりません
3行で頼む

79 ::2021/07/09(金) 07:42:02.98 ID:iVFSm/gE0.net

もうそろそろバグを自動で直してくれるAIが出てきてもいいと思うの( ´・ω・`)

81 ::2021/07/09(金) 08:03:42.73 ID:w1K2c94F0.net

>>10
処理が
早く
なる?

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

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

75 ::2021/07/09(金) 07:14:07.94 ID:NEXapqZ10.net

す、Speed Doubler・・・(小声)

82 ::2021/07/09(金) 13:34:16.60 ID:0Y3n7c370.net

>>15
組み込みでは1us待ちとかザラだもん。スリープなんてしてる暇ない。てかOSが乗ってない。

82 ::2021/07/09(金) 13:34:16.60 ID:0Y3n7c370.net

>>15
組み込みでは1us待ちとかザラだもん。スリープなんてしてる暇ない。てかOSが乗ってない。

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

>>6
バグだらけになる

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文ネストモリモリコードもいけるんか?

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

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

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

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

26 ::2021/07/08(木) 09:18:24.61 ID:AMLA6IGp0.net

遅いったってタバコ休憩やコーヒー飲みに行ってる間に終われば5分も10分も変わらないんだぜ?
SQLにある速度基準の0秒でない限りは長時間処理とみなすのと同じ。
あほみたいに画面睨み付けて張り付いてるやつなんて仕事できないからな。

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

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

一日一回、クリックお願いします。


ブログランキング・にほんブログ村へ

コメントを残す