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

1 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:17:34.24 ID:4ee6pPVc0


オスカーテクノロジーは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)
レス1番の画像サムネイル

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

2 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:18:39.61 ID:ysfZM6km0
ダミーオスカー
3 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:20:36.33 ID:2i9YHITW0
c言語コードを解析して高速化って普通の最適化あり設定のコンパイラじゃないの?
5 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:24:07.93 ID:zpZg3+Lp0
>>3
回数の多いループ処理を並列化して高速化してる
これは普通のコンパイラの最適化には含まれない処理内容
17 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:39:47.60 ID:rp5JhOXm0
>>5
それ昔のコンパイラでもオプティマイズの設定するとやってるよ。
そんなに新しい話ではないと思う。
31 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:31:47.14 ID:1peXZEGR0
>>17
ウェイトのつもりでiを1からインクリメントさせ10万になったらループ終了するだけの単純なループ処理を書いたら
要するにお前のしたかった事はi=10万って事だろって処理に化けたりとか
4 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:24:02.78 ID:5J9nJ44q0
>>1
>シングルスレッド用のソースコードをマルチコア環境に応じたコードに変換する。

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

6 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:25:13.13 ID:Q3TIRmrL0
シングルスレッドでダラダラ処理するソースコードを勝手にマルチスレッドにして処理させるから速くなるよって奴か
7 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:27:39.58 ID:e1h81LyW0
最適化したら
動かなくなるあれ
8 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:28:49.79 ID:Ahp3tTkq0
負荷がヤバそう
9 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:29:32.06 ID:qeMBoLk60
下手に最適化すると死ぬコード多そう
10 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:31:35.97 ID:G/6EPG8m0
>>1
ちょっと何言ってるか意味がわかりません
3行で頼む
11 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:32:56.86 ID:zivrPEAqO
今時高速化なんて求められてるの?
20年前とかならともかく
22 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:54:19.12 ID:pz/q8wXP0
>>11
求められてなかったらFPGAで専用高速プロセッサを構成しようとかが流行ってないな
24 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:00:25.59 ID:ggUTbFid0
>>11
ジャンルによる
後C#なんかはまだまだ体感できるレベルで遅い
12 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:33:36.90 ID:rl++3T3a0
ちょっと!ループさせて速度調整してるんだから辞めてよ!
15 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:38:20.80 ID:4ee6pPVc0
>>12
スリープ入れろよw
23 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:56:15.18 ID:XxQI/Tvg0
>>12
13 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:35:14.67 ID:Hp6daFOn0
こんなの対象とするコンパイラは違えど30年以上前の技術だよ
プリコンパイラでソースを最適化するってだけ。何を今更
14 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:35:58.55 ID:ggUTbFid0
滅多に起きない解析困難なバグとか発生しそう…
16 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:38:43.83 ID:7UTie2HC0
自前で並列化とベクトル化をしてもう早くなる要素が自分では見つからないくらいまでは来てるんだけど効果ある?
18 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:41:33.27 ID:/QxKqy7S0
↓これも最適化されてしまうん?
// このループは触るな
21 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:52:23.75 ID:ggUTbFid0
>>18
片っ端からvolatile入れとけ
19 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:43:24.97 ID:3MWhnUYr0
ソフト「ここ並列用の関数に変えろや」ってレポート列挙するんかな
20 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 08:44:27.34 ID:twX0nvTO0
C言語を256倍使いこなす本
の実装
25 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:15:58.22 ID:sj2e7OkI0
またテストし直しだろ
26 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:18:24.61 ID:AMLA6IGp0
遅いったってタバコ休憩やコーヒー飲みに行ってる間に終われば5分も10分も変わらないんだぜ?
SQLにある速度基準の0秒でない限りは長時間処理とみなすのと同じ。
あほみたいに画面睨み付けて張り付いてるやつなんて仕事できないからな。
27 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:21:37.80 ID:ZaYOWyS00
文句ばっかしか言わないんだなお前ら
上司とか同僚とか友達に絶対なりたくないタイプw
28 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:22:18.65 ID:Q0Wy16Ta0
デバッグ大変そう
29 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:22:58.98 ID:xs/c4OHI0
スゲーな(´・ω・`)
30 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:30:05.29 ID:a0WHBbL20
巧妙な麻宮スレ
32 名前:一般よりも上級の名無しさん 投稿日時:2021/07/08(木) 09:33:50.85 ID:Feb3ROc/0
猫でもわかるC言語って本読んだらわからなかったので俺は猫以下

コメント一覧

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