コードの現代化と最適化
ソフトウェアの最適化において注目すべきこと2019 年 4 月
iSUS 編集部
すがわら きよふみ

目的• ソフトウェア開発時の最適化において注目すべき点を理解します• ソフトウェアの要件を理解します• ソフトウェアに影響するハードウェアの機能を評価します© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

2

盲目の男たちと象
ヒィンドスタンに、盲目の 6 人の男たちがいました。学ぼうという気持ちが強く、象を見に出かけました。全員、目が見えなかったが、じっくりと観察すれば心が満たされるだろう、と皆が考えていました
男たちは長いこと大声で言い争い、それぞれが自分の意見を譲らず、それぞれの主張をするだけでした

それぞれが正しいところもありますが、誰も全体を捉えていません© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

3

ソフトウェア開発における盲目の男たち• プロセッサー向けのマイクロアーキテクチャー・チューニング
•
•
•
•
•
•
•

インテル® マイクロアーキテクチャー開発コード名 Nehalem
インテル® マイクロアーキテクチャー開発コード名 Ivy Bridge
インテル® マイクロアーキテクチャー開発コード名 Sandy Bridge
インテル® マイクロアーキテクチャー開発コード名 Haswellインテル® マイクロアーキテクチャー開発コード名 Broadwellインテル® マイクロアーキテクチャー開発コード名 Skylake
インテル® マイクロアーキテクチャー開発コード名 Coffee Lake

• ベクトル化と並列化• など…
© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

4

10 年前と現在のプロセッサー
インテル® マイクロアーキテクチャー開発コード名 Nehalem

インテル® マイクロアーキテクチャー開発コード名 Skylake© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

5ちなみに …

似ているところもあれば、ちょっと違うところも…

出典: Software Optimization Guide for AMD Family 17h Processors© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

6

多くの内部的な改良
マイクロオペレーション (μop) キューおよび
ループストリーム検出器 (LSD)

アンラミネーション

非インクルーシブなラスト・レベル・キャッシュ (LLC)
スタックポインター追尾
デコード済み命令キャッシュ
メモリー・ディスアンビゲーション

ストア・フォワーディング
マイクロフュージョン
実行ポート

これらの大部分は、プログラマーが容易に制御できません
コンパイラーがその役割を果たします© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

7

あまり変化のないものもある
インテル® マイクロアーキテクチャー開発コード名 Nehalem

キャッシュの階層構造
キャッシュ容量と連想性
インテル® マイクロアーキテクチャー開発コード名 Skylake

ラインサイズ
パフォーマンス特性© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

8

サーバー・アーキテクチャーは進化
Broadwell✝ から Skylake Server✝ へ© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

9

Skylake Server✝ コア
Skylake Server✝ コアは、Skylake✝ コアをベースに機能強化が行われています

VEC

INT

• インテル® AVX-512 実装は、Port 0/1 を融合して単一の 512 ビット実行ユニットを構成します• Skylake✝ コアの外部に 2 番目の FMA を追加することで、Port 5 は完全な 512 ビットに拡張• L1-D ロードとストアの帯域幅は 2 x 64B ロードと 1 x 64B ストアを可能にするため倍に拡大• Skylake✝ コアの外部に L2 キャッシュ 768KB が追加
Port 0Port 1

Port 5

Port 6

ALU

ALU

ALU

ALU

Shift

LEA

LEA

Shift

JMP 2

MUL

FMA

FMA

FMA

ALU

ALU

ALU

Shift

Shift

Shuffle

拡張
インテル®
AVX

JMP 1

Skylake✝ コア

拡張され
た L2
キャッシュ

DIV

Skylake Server✝ コア: データセンターのワークロード向けに最適化✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

10

L2 & L3 キャッシュ階層を再構成
これまでのアーキテクチャー

Skylake Server✝ アーキテクチャー
共有 L3
1.375MB/コア(非インクルーシブ)

共有 L3
2.5MB/コア(インクルーシブ)

L2(256KB
プライベート)L2(256KB
プライベート)L2(256KB
プライベート)

コア

コア

コア

L2
(1MB
プライベート)L2(1MB
プライベート)L2(1MB
プライベート)

コア

コア

コア

• オンチップキャッシュは、共有分散型からプライベート・ローカル型へ移行:• 共有分散型  共有分散 L3 が主なキャッシュ• プライベート・ローカル型  プライベート L2 が主なキャッシュとなり、共有 L3 はオーバーフロー・キャッシュとして使用• 共有 L3 キャッシュは、インクルーシブから非インクルーシブへ変更:• インクルーシブ  L3 は L2 のすべてのキャッシュラインのコピーを持つ• 非インクルーシブ  L2 のラインは L3 に存在しない可能性があります

Skylake Server✝ のキャッシュ階層をデータセンターでの利用向けに再構成✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

11

インクルーシブと非インクルーシブ L3
インクルーシブ L3(これまでのアーキテクチャー)
L2
256kB

非インクルーシブ L3(Skylake Server✝ アーキテクチャー)

1. メモリーリードは、直接 L2 に取り込まれ、L3 には格納されません

L2
1MB

2. L2 からラインが削除される場合、モディ
ファイおよび非モディファイにかかわらずライトバックされます

3

2

3

2

2.5MB
L3

1.375MB

L3

1
1

メモリー

メモリー

3. コア間で共有されるデータは、以降に L2
ミスを補うため L3 にコピーされます
データセンターでの利用に合わせて設計および最適化されたキャッシュ階層:• 仮想化では大きなプライベート L2キャッシュにより干渉を軽減できます• マルチスレッド化されたワークロードでは、(L2 の増加により) スレッドごとに大きなデータを操作して、アンコアのアク
ティビティーを軽減できます✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

12

インクルーシブと非インクルーシブ L3

1
2

機能

BDX1

SKX2

L2 サイズ (MB/コア)

0.25

1.00

L3 サイズ (MB/コア)

2.50

1.375

L2 + L3 (MB/コア)

2.75

2.375

有効/ユニークなライン容量

2.50

共有のレベルに応じて
1.375 から 2.375MB

Skylake Server✝ の非インクルーシブ L3 は、Broadwell-EX (開発コード名)
これまでの世代と同等の L3 サイズを提供
Skylake-EX (開発コード名)✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

14

2.5

3000

2.1

2000

2

2034

1178

3

1000

669

0

760

768

791

767

SSE4.2AVX

AVX2AVX512

1

GFLOPs

電力 (W)

周波数 (GHz)

0GFLOPs/ワット

3259

2.8

GFLOPs/ワット

10.00

4.83
5.00
1.00

1.74

2.92

0.00
SSE4.2AVX

AVX2

AVX-512GFLOPs/GHz

10.00

7.19
GFLOPs/GHz

3.1

4インテル® SSE4.2 へ正規化した

4000

コア周波数

GFLOPs, システム電力

LINPACK パフォーマンス

インテル® SSE4.2 へ正規化した

インテル® AVX-512 のパフォーマンスと効率

3.77

5.00
1.00

1.95

0.00
SSE4.2AVX

AVX2

AVX-512インテル® AVX-512 は劇的なパフォーマンスと効率のゲインを提供
Source as of June 2017: Intel internal measurements on platform with Xeon Platinum 8180, Turbo enabled, UPI=10.4, SNC1, 6x32GB DDR4-2666 per CPU, 1 DPC. Software and workloads used in performance tests may have been optimized for
performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause theresults to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

15

インテル® Core™ プロセッサー
この図は一般的な CPU レイアウ
トを示しており、ここで説明する概念の理解に役立ちます

統合グラフィックス

256KB
L2

32KB
L1D

32KB
L1I

コア

コア

LLC

コア

LLC

コア

LLC

コア

LLC

コア

LLC

コア

LLC

システム・エージェント
メモリーと I/O

共有

マイクロアーキテクチャーを正確に表現するものではありませんGPU© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

16

インテル® Xeon® プロセッサー E5 ファミリー
QPI

QPI

IO
Sbo

256KB
L2

32KB
L1D

32KB
L1I

コア

Sbo

LLC

コア

コア

LLC

LLC

コア

コア

LLC

LLC

コア

…

LLC

LLC

…

…

LLC

LLC

…

コア

LLC

LLC

コア

コア

LLC

LLC

コア

コア

LLC

LLC

コア

コア

LLC

LLC

コア

LLC

コア

Sbo

ホーム・エージェント

Sbo

ホーム・エージェント© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

17

Skylake Server✝ のサブ NUMA クラスタリング

32KB
L1I

コア

I/O

I/O

I/O

LLC

LLC

LLC

LLC

LLC

LLC

コア

コア

コア

コア

コア

コア

メモリー
制御

32KB
L1D

ソケット
間リンク

I/O

LLC

LLC

LLC

LLC

コア

コア

コア

コア

メモリー
制御

１MB
L2

ソケッ
ト間リ
ンク

LLC

LLC

LLC

LLC

LLC

LLC

コア

コア

コア

コア

コア

コア

LLC

LLC

LLC

LLC

LLC

LLC

コア

コア

コア

コア

コア

コア

✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

18
18

インテル® マイクロアーキテクチャー
Skylake Server✝ のサブ NUMA クラスタリング
サブ NUMA クラスタリング (SNC) は、ラスト・レベル・キャッシュ (LLC) からメモリーへの平均レ
イテンシーを改善するモードです。これは、以前の世代のインテル® Xeon® プロセッサー E5 ファ
ミリーにおけるクラスターオンダイ (COD) の実装を置き換えるものです
•
•

•
•

単一のウルトラ・パス・インターコネクト (UPI) キャッシュ・
エージェントが必要です
リモートクラスターへのメモリー・アクセス・レイテンシー
は小さく、UPI フローは必要ありません
LLC でラインが複製されることはないため、LLC の容量をより効率良く利用できます
リモートクラスターのアドレスがローカルクラスターの
LLC にキャッシュされることがないため、クラスターオン
ダイ (COD) 方式に比べレイテンシーが大きくなることがあります✝開発コード名© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

19

NUMA は重要
ベースのアーキテクチャーを理解しましょう

AMD Ryzen＊ Threadripper 2970WX と 2990WX (英語)インテル® Xeon® W-3175X プロセッサー

引用: https://community.amd.com/community/gaming/blog/2018/10/05/previewingdynamic-local-mode-for-the-amd-ryzen-threadripper-wx-series-processors (英語)© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

20

皆さんのアプリケーションに影響しそうなアーキテクチャーの変更は見つかりましたか？

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

21

“コアへの集約” – トレードオフ
一般的にプロセッサーには多くの用途があります• モバイル (ラップトップ)• デスクトップ• サーバー/HPC
ワークロードは?
トレードオフ?

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

22

“コアへの集約” – トレードオフ
モバイル (ラップトップ)
•
•
•
•
•
•
•

2 ～ 4 コアの選択肢があり、スケーラブルなキャッシュを搭載することCPU と GPU の TDP 電力が低いこと
平均消費電力が低いこと
スリープ状態の消費電力が低いこと
稼働中は低い電圧で電力効率を高める
低コスト
積極的な動的電力管理

デスクトップ
サーバー/HPC
ワークロードは? - 生産性アプリ、メディア
トレードオフ?
© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

23

“コアへの集約” – トレードオフ
モバイル (ラップトップ)
デスクトップ•••••2 ～ 8 コアの選択肢があり、スケーラブルなキャッシュを搭載すること
メディア処理、ハイエンドゲームのパフォーマンス (高性能 CPU と GPU)
適度な DRAM 帯域幅
低コスト (容易な換装)
優れたシングルスレッドのパフォーマンス

サーバー/HPC
ワークロードは? - 生産性アプリ、メディア、ゲーム

トレードオフ?

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

24

“コアへの集約” – トレードオフ
モバイル (ラップトップ)
デスクトップ
サーバー/HPC− さらに多くの物理アドレスビット (高速アドレス検索、広範囲、電力)− 多くの RAS 機能 (キャッシュ ECC、TLB など)− 大きなキャッシュ、TLB、BTB、複数ソケッスヌープなど− 高速ロックとマルチスレッド最適化− さらに多くの DRAM チャンネル (帯域幅と容量)− メニーコア (10 コア以上)− NUMA
ワークロードは? - ワークステーション、サーバーアプリ
トレードオフ?

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

25

アプリケーションが要求するリソースは?

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

26

ここで盲目の男たちと象を思い出してみましょう
伝統的にインテル社のプロセッサーが持つ特性
モバイル:− 低消費電力− 低めのプロセッサー周波数− 2 から 4 物理コア (コアあたり 1.5M の LLC)
− 1 から 2 のメモリースロット
デスクトップ:− 低消費電力− 最高のプロセッサー周波数− 2 から 8 物理コア (コアあたり 2M の LLC)
− 2 から 4 のメモリースロット
サーバー:− 多くの物理コア最大 28 (コアあたり 2M の LLC) と複数ソケット− デスクトップほどは高くないプロセッサー周波数− 8 本以上のメモリースロット© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

27

最近のちょっとした変化
第 8 世代と第 9 世代プロセッサーの違い
第 9 世代インテル® Core i9/i7/i5 プロセッサー製品仕様

第 7、8 世代インテル® Core i7/i5 プロセッサー製品仕様

モデル

モデル

Core i9-9900K Core i7-9700K Core i5-9600K

コア/スレッド 8/16
16MB
キャッシュ
ベースクロック 3.60GHz
5.00GHzTB 時最大(1/2 Core)
対応メモリー DDR4 2666
95W
TDP
LGA1151
ソケット

8/8
12MB
3.60GHz
4.90GHz(1 Core)DDR4 2666
95W
LGA1151

6/6
9MB
3.70GHz
4.60GHz(1 Core)DDR4 2666
95W
LGA1151

Core i7-8700K Core i7-7700K Core i5-8600K

6/12
コア/スレッド
12MB
キャッシュ
ベースクロック 3.70GHz
4.70GHzTB 時最大(1/2 Core)
DDR4 2666
対応メモリー95W
TDP
LGA1151
ソケット

4/8
8MB
4.20GHz
4.50GHz
(1/2 Core)
DDR4 2400
91W
LGA1151

6/6
9MB
3.60GHz
4.30GHz(1 Core)DDR4 2666
95W
LGA1151

さて、次世代ではどのように …

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

28

パフォーマンスに直結するプロセッサーの機能• SIMD 命令セット− SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX、AVX2、AVX-512• コア数− ２、４、６、８ … 28 コア• メモリー構造とキャッシュ階層− メモリー帯域幅− NUMA とマルチソケット

コンパイル時の最適化オプションや、
コードを変更することで利点が得られます© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

29

Parallel + SIMD は前進への鍵
インテル® Xeon® プロセッサーは、両者とも並列性を高めています

インテル®
Xeon®
プロセッサー
64 ビット

インテル®
Xeon®
プロセッサー
開発コード名Woodcrest
EP

インテル®
Xeon®
プロセッサー
開発コード名Nehalem
EP

インテル®
Xeon®
プロセッサー
開発コード名Westmere
EP

インテル®
Xeon®
プロセッサー
開発コード名Sandy Bridge
EP

インテル®
Xeon®
プロセッサー
開発コード名Ivy Bridge
EP

インテル®
Xeon®
プロセッサー
開発コード名Haswell
EP

インテル®
Xeon®
プロセッサー
開発コード名Skylake
Server

コア

1

2

4

6

8

12

18

28

スレッド

2

2

8

12

16

24

36

56

SIMD 幅

128

128

128

128

256

256

256

512

さらに多いコア
さらに多くのスレッド
より広いベクトル

OpenMP* は Parallel + SIMD を前進させる最も重要な機能の 1 つ* ark.intel.com で公開されている出荷済の製品仕様© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

30

Think Parallel or Perish

あれから 10 年 …

https://www.isus.jp/file/pu/parallel_mag_issue1_j.pdf© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

31

Vectorize or Die
Think Parallel or Perish

Code Modernization
https://jp.xlsoft.com/documents/intel/magazine/Intel_ParallelUniverse_Issue22_JPN.pdf© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

32

Code Modernization (コードのモダン化)
マルチコア・
プロセッサー

高帯域プロセッサー間通信

高速 I/O
高速メモリー

スレッド並列大きなキャッシュ

メニーコア・
プロセッサー© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

33

マルチレベルの並列性を実装する 5 つのステップ
3: 並列化
ベクトル化
2:スカラーとシリアルの最適化
1:
最適化ツールとライブラリーの活用
ステージ 4:
5:
マルチコアからメニーコアへスケール

http://www.isus.jp/article/article-parallel/what-is-code-modernization/© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

34

ここまでのまとめ: 並列処理とはMPI が注目する並列処理パイプライン

プロセス
スレッド
Main ()

…スレッド

ベクトル化

スレッド

17

53

37

4

63

-9

42

81

80

44

79

85

OpenMP*が注目する並列処理
スレッド化

スレッド
Main ()

…スレッド

スレッド

コード

コード

データ

データ

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

35

オンラインのライブセミナー
iSUS では定期的にオンラインのライブセミナーを開催中です
https://www.isus.jp/products/psxe/webinar-2018/• 2018 年秋のシリーズ (録画も公開中)
日時 (日本時間)

タイトル

内容

対象レベル

インテル® VTune™ Amplifier 2019 によるアプリケーションのパ
11 月 26 日 (月) 11:00am – 12:00pm インテル® VTune™ Amplifier 2019 活用パート 2
フォーマンス解析例を使用して、ツールが表示する情報を理解する アプリケーションの最適化に注目する開発者向け。
方法を紹介します。
インテル® VTune™ Amplifier 2019 の一新されたユーザー・イン
11 月 9 日 (金) 11:00am – 12:00pm インテル® VTune™ Amplifier 2019 の新機能活用
アプリケーションの最適化に注目する開発者向け。
ターフェイスと関連する機能について説明します。
最新のインテル® アーキテクチャーとその開発環境につ
現代のニーズに応えるためにインテルが拡張している最新ハード
インテルの最新プロセッサーとソフトウェア開発製品のアッいて知りたい方、インテル® アーキテクチャーやインテ
11 月 1 日 (木) 10:05am – 11:00am
技術と製品、およびそれらをサポートするためのソフトウェア開発
プデート
ルの展開する最新製品を用いた機器のパフォーマンス
用のツールについてご説明します。
向上のための情報に関心のある方向け。
インテル® Advisor 2019 の新機能を使用した整数/浮動小数点演
アプリケーションのベクトル化効率とメモリーアクセス
10 月 19 日 (金) 1:00pm – 2:00pm
インテル® Advisor 2019 の新機能の活用算を行うアプリケーションの解析とキャッシュを考慮したメモリーの最適化に注目する開発者向け。
アクセスの解析方法を紹介します。
インテル® C/C++ および Fortran コンパイラーの OpenMP* インテル® コンパイラー・バージョン 19.0 でサポートされる
OpenMP を使用して C/C++ または Fortran で開発を
10 月 12 日 (金) 1:00pm – 2:00pm
機能レビュー Part 2
OpenMP* 5.0 の機能を確認します。
行う開発者向け。
®
®
インテル C/C++ および Fortran コンパイラーの OpenMP* インテル コンパイラー・バージョン 19.0 でサポートされる
OpenMP を使用して C/C++ または Fortran で開発を
9 月 28 日 (金) 1:00pm – 2:00pm
機能レビュー Part 1
OpenMP* 5.0 の機能を確認します。
行う開発者向け。
9 月 22 日 (土) 9:00am – 10:00am

iSUS が独自に開発したインテル® Advisor 2018 の日本語版コン インテル® Advisor 2018 を導入済みの開発者、またはインテル® Advisor 2018 日本語版の紹介と 2019 の新機能 ポーネントの導入方法とインテル® Advisor の概要、およびインテル ベクトル化やスレッド化向けに支援ツールを検討され® Advisor の今後の日本語版開発の動向をお知らせします。
ている開発者向け。

9 月 14 日 (金) 9:30am – 10:30am

今後発売される予定の「インテル® Parallel Studio XE」製品の次期 すでにインテル® ソフトウェア開発製品を導入されていインテル® Parallel Studio XE 製品の次期バージョンの案内 バージョンを、インテル Parallel Studio XE 2019 ベータ版の新機 る開発者向けに、新バージョンの新機能や改善点を紹能を参考にご紹介します。
介します。

© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

36

インテル® ソフトウェア開発ツール
日本語版パッケージを提供中
 インテル® Advisor 2018 update 1,2,3
 インテル® Advisor 2019 Initial, update 1,2
https://www.isus.jp/products/advisor/advisor_jp/
 インテル® VTune™ Amplifier 2019 Initial, update 1, 2
https://www.isus.jp/products/vtune/vtune_jp/
インテル® 64 アーキテクチャーおよび IA-32 アーキテクチャー最適化リファレンス・
マニュアル (参考訳最新 040 版)
公開中のインテル® Parallel Universe マガジン日本語版© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

37

Intel、インテル、Intel ロゴ、Intel Inside ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。
*その他の社名、製品名などは、一般に各社の商標または登録商標です。
インテル® ソフトウェア製品のパフォーマンス / 最適化に関する詳細は、Optimization Notice (最適化に関する注意事項) を参照してください。
© 2019 Intel Corporation. 無断での引用、転載を禁じます。
Copyright © 2019 iSUS
© 2019 iSUS *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

38