インテル C コンパイラとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > インテル C コンパイラの意味・解説 

Intel C++ Compiler

(インテル C コンパイラ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/01/23 04:00 UTC 版)

Intel C++ Compiler
開発元 インテル/XLsoft
最新版
2024.0.2 / 2023年12月21日 (13か月前) (2023-12-21) [1]
リポジトリ
対応OS Microsoft Windows 10 / Server 2019 / Server 2016[2] / Linux / macOS / Android
プラットフォーム x86 (IA-32), x64 (Intel 64)
種別 コンパイラ/デバッガ
ライセンス インテル独自ライセンス (プロプライエタリ)※30日評価版有、Linux向け無償版(非商用)有
公式サイト Intel/XLsoft
テンプレートを表示

Intel C++ Compilerインテル シープラスプラス コンパイラ)とはインテルが開発・販売しているC言語およびC++用のコンパイラである。日本での販売・サポートはXLsoftが行なっている。略称はICC、あるいはICL(それぞれ、Linux/macOS用およびWindows用コンパイラの実行プログラム名にもとづいている)。

概要

インテルが自社の発売するIntel CPUの性能を最大限発揮するために開発したコンパイラである。Intel CPUの開発元が自ら開発したため、Intel CPUに対しては最高の最適化性能を誇り、最新の命令セットへの対応も非常に早い。主にx86/x64アーキテクチャをサポートする。バージョン11.1まではIA-64 (Itanium) をサポートするが、バージョン12.0以降ではサポートされない[3]。バージョン11.1においては、次世代256ビット命令であるIntel AVXや、米国標準暗号方式であるAES命令セットがサポートされた。バージョン12.1において、AVX2命令がサポートされた[4]

最適化性能の面では、特にSIMD命令を使用した自動ベクタライズ機能が優秀である。ただし、自動化といってもコンパイラが判断可能であるような限定的な状況でしか適用されず、アセンブラや組み込み関数を使って手動で慎重にベクタライズされたコードの実行速度にはかなわないことが多い。しかし、SIMD命令を扱えるプログラマは少ないため、一般的なプログラマがSIMD命令の恩恵を受けられるように、自動ベクタライズ機能の強化も続けられている。

他にもプロファイル計測用バイナリを出力し、実際に運用することによりコードの実行状況のデータを収集し、それを元に最適化するプロファイリング機能や、OpenMPによる自動マルチスレッド化にも対応している。バージョン11からは1パッケージで多言語対応となった。

実行に必要なライブラリリンカなどは付属していないため、他のコンパイラの環境に寄生した形で実行される。WindowsではMicrosoft Visual Studioが、LinuxではGCCが必要である。基本的にはコンソールアプリケーションであるが Visual Studio 向けのプラグインが存在するため統合開発環境でも利用が可能である。 コンソールでの利用=コマンドラインツールとしての利用のみであれば、無料版であるVisual C++ Express Editionがホスト環境として利用可能である。なお、Visual Studio 2010 Expressまでは、IA-32をターゲットとする場合は追加のSDKインストールは不要だが、Intel 64をターゲットとする場合は別途追加のx64開発用SDKをインストールする必要があった(Visual Studio Express 2012 for Windows Desktop以降は追加のインストールは不要になっている)。

30日無料の評価版があり、使用日期限以外の機能制限は存在しない。正規のライセンスを購入すればそのまま製品版として使用できる。ライセンスには1年間のアップデート入手の権利があり、ライセンス停止後に最新版をダウンロードしてきても使用できないが停止前にリリースされたバージョンはそのまま継続使用できる。ライセンスは更新することによってアップデート入手の権利を保持し続けることが可能である。なお、Linux版では非商用目的に限り無償で使用できるバージョンが公開されている[5]

その性能の高さから特に画像処理、映像、音声・音響関係で使用される場合が多い。

なお、開発環境としてのWindows VistaおよびWindows Server 2003のサポートはバージョン14.0で終了した。

言語規格サポート

C言語

C99[6]C11[7]の対応リストが公開されている。バージョン18.0でC11にほぼ対応している。

C++

C++11[8][9]C++14[10]C++17[11]の対応リストが公開されている。バージョン15.0でC++11にほぼ対応している。バージョン19.0において、C++14を完全サポートし、C++17の大部分をサポートしている。

なお、Visual C++コンパイラでサポートされているC++/CLIC++/CX英語版およびC++ AMPの機能は使用できない。また、Windowsストアアプリの開発にも使用できない。

OpenMP

OpenMP規格はバージョン12.1においてOpenMP 3.1をサポートしている。また、バージョン14.0においてOpenMP 4.0の機能を一部サポートしている[12]。バージョン19.0においてOpenMP 4.5およびOpenMP 5.0の一部をサポートしている。

そのほか、並列化のためのC/C++言語拡張としてCilk Plusをサポートしていたが、バージョン18.0で非推奨 (deprecated) となった。

付属のインテル製ライブラリ

Intel C++ Compiler 11.1 プロフェッショナル エディションには、下記のインテル純正の高性能ライブラリが付属する。

Intel C++ Compiler バージョン10までは、上記ライブラリが付属しないスタンダード エディションが存在したが、バージョン11からはインテルの方針により、プロフェッショナル エディションのみの提供となっている。また、バージョン12以降の販売製品の名称はIntel C++ Compilerではなく、これらのライブラリを含めたスイート製品としてIntel C++ Composer XEという名称が使われるようになっていたが、さらにIntel Parallel Studio(開発ツール類を含む総合スイート製品)のバージョン2015以降は、「Intel Parallel Studio XE Composer Edition for C++」以上の製品エディションにIntel C++ Compilerが含まれる形となった。

なお、これらの各ライブラリは単体製品での販売も行なわれている。Intel C++ Compilerを使用せず、Visual C++コンパイラなどとIPP/TBB/MKLを組み合わせて使用することも可能である。

注意点・問題点

バージョン8から実行開始時のCPUチェックでAMDのCPUを認識しないようになったため、AMDのCPUでは出力バイナリの実行性能が劣ってしまう場合がある。開発者の中にはこれを嫌ってあえて古いバージョン7を使用し続ける者もいる[要出典]。この問題はCPUチェック処理を独自に記述し、リンク時に強制的に上書きすることで回避することが可能である。

またデフォルトの設定では高速化のため浮動小数点処理で自動的にSSEを使用するようになっている。そのためFPUを使用した場合とでは処理結果に差異が生ずる場合がある。精度重視の設定でコンパイルすることによりFPUを使用するコードを生成することが可能だが速度の方は遅くなってしまう。

コンパイルオプションでマルチCPU対応バイナリを出力することが可能だが、その分コードサイズが増大する傾向がある。

また、Intel C++ Compilerによって出力されたバイナリ(プログラム)の実行時に、Intel C++ Compiler独自のDLL共有ライブラリが必要となる場合がある(明示的にOpenMPあるいはIPPライブラリを使用していなくても、特定の最適化オプションを有効にすることで、OpenMPあるいはIPPが暗黙的にリンクされる場合がある)。インテルからはランタイムライブラリ(libiomp5md.dllなどを含むパッケージ)が無償配布されているが、Microsoft Visual C++のランタイムとは違って一般のエンドユーザーには公開されておらず、開発者自らがアプリケーションに添付するなどして再配布することになる[13]。しかし、これに留意せずランタイムの再配布や添付を行なわない開発者が多いため、エンドユーザーがプログラムを実行できない症例が多く報告されている[14][15][16]。この点に関してはライブラリを静的リンクすることによりコードサイズは増大するがランタイムを必要としないコードを生成することが可能であるが、IPPなどにおいてSIMD拡張命令を使用した高速なバージョンの関数を使用するためには、プロセッサの対応状況を調べるための初期化関数(ippInit()関数)を別途呼び出す必要がある。また、スタティックライブラリ版のIntel OpenMPはIPP 7.0までの提供となっているため、以降のバージョンではOpenMPランタイムの動的リンクが必須となる[17]

脚注

  1. ^ oneAPI DPC++/C++ Compiler Release Notes
  2. ^ Intel C++コンパイラーで作成されたアプリケーションの実行環境は、Intel C++コンパイラー自体の実行環境すなわち開発環境に準ずる。なお、アプリケーション実行環境として、XP / Vista / Server 2003 / Server 2008での正式な互換性テストは行なわれていない。
  3. ^ インテル® C++ Composer XE 2011 Windows* 版インストール・ガイドおよびリリースノート - w_ccompxe_2011.7.258_Release_Notes_ja_JP.pdf
  4. ^ インテル・コンパイラー12.1でサポートされたAVX2向けオプション | 最適化フォーラム | フォーラム | iSUS
  5. ^ Non-Commercial Software Development”. 2014年2月閲覧。
  6. ^ C99 Support in Intel® C++ Compiler | Intel® Software
  7. ^ C11 Support in Intel C++ Compiler | Intel® Software
  8. ^ C++11 Features Supported by Intel® C++ Compiler | Intel® Software
  9. ^ インテル® C++ コンパイラーでサポートされる C++11 の機能 | iSUS
  10. ^ C++14 Features Supported by Intel® C++ Compiler | Intel® Software
  11. ^ C++17 Features Supported by Intel® C++ Compiler | Intel® Software
  12. ^ OpenMP* 4.0 Features in Intel C++ Composer XE 2013 | Intel® Developer Zone
  13. ^ libiomp5md.dll と OpenMP
  14. ^ Hydrogenaudio Forums > Flac compression through EAC not working
  15. ^ Hydrogenaudio Forums > Cool Edit Pro 2.0 + Vorbis
  16. ^ WinAmp gives error whe loading AAC plugin - Hydrogenaudio Forums
  17. ^ インテル® IPP における OpenMP* サポートの変更”. 2014年2月閲覧。

関連項目

外部リンク


「インテル C++ コンパイラ」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「インテル C コンパイラ」の関連用語

インテル C コンパイラのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



インテル C コンパイラのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのIntel C++ Compiler (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS