HPC/並列プログラミングポータルでは、HPC(High Performance Computing)プログラミングや並列プログラミングに関する情報を集積・発信しています。

新着トピックス

HPCプログラミング関連記事一覧

記事一覧:

Outline

高度な最適化機能や並列プログラミングサポートを提供する新開発ツール「インテル Parallel Studio XE 2011」

psxe.png  インテルが開発ツール製品ラインを一新、より高いパフォーマンスを求める開発者に向けた開発ツール「インテル Parallel Studio XE 2011」をリリースした。コンパイラやデバッガ、プロファイラを含む総合開発パッケージであり、WindowsおよびLinux版が用意されている。

アセンブラコードで見るC++ Composer XEの強力な最適化機能

comp.jpeg  インテル C++ Composer XEには、強力な最適化機能を備えるコンパイラが含まれている。インテルCPUが備えるSSEやAVXといった機能を効率的に利用するコードや、マルチコアによる並列処理を行うコードを自動的に生成できるのが特徴だ。本記事ではインテル C++ Composer XEが持つさまざまな最適化機能を紹介するとともに、コンパイラが出力するアセンブラコードをチェックしてその効果を探っていく。

VTune Amplifier XEとInspector XEでmemcachedの高速化にチャレンジ

inspector.png  ソフトウェア開発において、テストやデバッグは設計やコーディング以上に重要な工程である。これらの工程において、プログラム中の問題検出やパフォーマンス解析に役立つ強力なツールがインテル Parallel Studio XEに含まれる「インテル VTune Amplifier XE」や「インテル Inspector XE」だ。本記事ではこれらのツールを用いてmemcachedのチューニングを行い、高速化を試みた事例を紹介する。

Moblinアプリケーション開発はじめの一歩

639ec17668df42c05ab5c49fea7c5d41.png  Moblinはさざまな機器での利用を視野に入れて設計・開発されたプラットフォームであり、中核となる「Moblin Core」と呼ばれるコンポーネント群をベースに機器やアプリケーション独自のUIを構築できるようになっている。Moblinアプリケーションを開発するに当たって、まずはMoblinプラットフォームの概要と、Moblin Core向けの開発環境構築方法について解説しておこう。

Moblinアプリケーションのクロスコンパイルとインテル コンパイラーによるパフォーマンス改善

bcb7a262ea9d3e802b2bfb7f69d336df.png  Moblinアプリケーション開発は実機と開発環境が異なるクロスコンパイル環境で行うため、通常のLinux向けアプリケーションとは若干開発手順が異なる。本記事ではIDEを使ったMoblinアプリケーション開発の基本的手順と、インテル コンパイラーを利用してMoblinアプリケーションをコンパイルするための設定方法などを紹介する。

リモートデバッガ/プロファイラを利用したデバッグ&性能解析

cff4dfc91eeb58e83e6ce1b5eb710bd3.png  ネットブックやMIDといったリソースの少ないマシンで動作するアプリケーションをデバッグする場合、実行環境とは異なるマシンでアプリケーションの動作状況をモニタリングするリモートデバッグが有用だ。本記事ではEclipseやgdbserver、そして「インテル アプリケーション・デバッガー」といったツールを使用してリモートデバッグを行う基本的な手順を紹介する。また、アプリケーションのパフォーマンスを調査するプロファイリングをリモート環境で行う方法も解説する。

Windows 7に完全対応したインテル コンパイラー 11.1

8f54717302884a063a5179201400f3b5.png  Windows 7の導入にあたり、いままで使っていたアプリケーションや開発ツールが新しい環境でも正しく動作するか気になっているユーザーも多いだろう。そこで本記事では、Windows 7環境でのインテル コンパイラーやVisual Studioといった開発ツールの動作確認や、Windows 7向けのWindows SDKの導入、そしてパフォーマンス検証など、Windows 7上での開発環境の利用について紹介する。

インテル コンパイラー 1000本ノックプロジェクト

 インテル コンパイラーはVisual C++やGCCといったコンパイラと高い互換性を備えている。そのため、多くのソフトウェアではほとんど修正を行うこと無しにインテル コンパイラーでのコンパイルが可能であるが、ソフトウェアによってはコンパイル時の設定にコツがあったり、ソースコードの修正等が必要な場合もある。本記事では、さまざまなオープンソースソフトウェアをインテル コンパイラーでコンパイルし、そのコンパイル方法や注意点を紹介する。

インテル コンパイラーで試す次世代C++規格「C++0x」

 インテル コンパイラーではOpenMP 3.0やC++ラムダ関数、並列コンパイルといった、新規格や最近注目されている機能がいち早く取り入れられている。本記事では、インテル コンパイラーが採用した新規格について解説する。

Core i7のSSE4.2にも対応、インテル コンパイラーで作るSSE対応プログラム

374dabfcc13d28994c5fd879106d2ce3.jpg  インテル コンパイラーの特徴の1つに「自動ベクトル化」がある。これはSSE(Streaming SIMD Extensions)と呼ばれるCPUの機能を利用することで数値演算の高速化を図るものだ。インテル コンパイラーは最新のCore i7といったCPUに搭載されているSSE4.2に対応しており、現行のほとんどのインテルCPUにおいて高速化が期待できる。本記事では、インテルコンパイラーでのSSEの使用と、その効果について解説する。

インテル コンパイラーでビルドする高速Firefox

4d68dafd07f1b05eab4deb7324331de2.png  近年、そのパフォーマンス競争が盛んに行われている分野として、Webブラウザが挙げられる。たとえばSafari 4のベータ版は自らを「世界最高速」とうたうなど、それぞれのWebブラウザが自身の高速性をアピールしているが、それではWebブラウザのコンパイルにインテル コンパイラーを利用することでパフォーマンスを向上できないだろうか? そこで、Firefoxの最新版であるFirefox 3.1 ベータ2について、Windows環境でインテル コンパイラーを使用してコンパイルし、そのパフォーマンスを調査してみた。

パフォーマンス解析ツール「VTune」でアプリケーションを高速化

3d7a1f94b79951b6e0e7cc613b9899f6.gif  作成したプログラムのパフォーマンスに問題がある場合、性能解析ツールを利用して問題点を分析するのが一般的だ。性能解析ツールには様々なものがあるが、その中でも高機能なものとしてインテルが開発する性能解析ツール「インテル VTune パフォーマンス・アナライザー」がある。本記事ではパフォーマンスの問題が発見されたプログラムを対象に、このインテル VTune パフォーマンス・アナライザーを使用して問題点の調査とパフォーマンスの改善を行う例を紹介する。

インテル コンパイラーでオープンソースソフトウェアをコンパイルしよう

a6b24cd245ec6d5a1bf5648d1b972733.gif  インテルの「インテル C++ コンパイラー」は高速なバイナリを生成するということで知られている。しかし、インテル C++ コンパイラーはVisual C++やGCCとの互換性を備えているものの、完全に同一というわけではない。そこで、有名なオープンソースソフトウェアについてインテル C++ コンパイラーでのコンパイルを行い、どの程度の修正でコンパイルが可能なのか、またそのパフォーマンスはどうなのか、調査してみよう。

インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか?

9e7da1d763a185915fa542ae2b0f0b6b.png  Linux World 2005で発表された「Improving MySQL Server Performance with Intel C++ Compiler」というレポートでは、インテルコンパイラーを利用することでMySQLのパフォーマンスを最大2.55倍向上できた、と報告されている。しかし、本当にこのような大幅なパフォーマンス向上が期待できるのだろうか? 本記事では、インテル コンパイラーでコンパイルされたMySQLバイナリを使用し、本当にこのようなパフォーマンス向上が見られるのか、比較・調査を行う。

「最適化・並列化コードを生み出す最新コンパイラ「インテル コンパイラー」サンプルコード

 本特集内で使用したサンプルコード全文を掲載しています。

マルチメディア処理から信号処理まで幅広く活用できる高速ライブラリ「IPP」

629ba89db9abe6fe692853c7a077b7bd.png  インテル C++ コンパイラーに付属するライブラリの1つに「インテル インテグレーテッド・パフォーマンス・プリミティブ」(IPP)がある。IPPは動画や音声、画像などの処理に向けた関数を備えたライブラリなのだが、実際のところIPPがどのようなものなのか分からない方も多いだろう。そこで本記事では、IPPには何が含まれており、またどのような用途に使えるのかを紹介する。

インテル謹製の数値演算ライブラリ「MKL」を使ってプログラムを高速化

ed53f50682f66f4bb47aa788cdeb0eb7.png  各種スケジューリング処理やシミュレーション、統計処理、デジタル制御や信号処理などの分野では、多次元行列演算や高速フーリエ変換(FFT)、線形計画法など、さまざまな数学的処理が必要とされる。インテル コンパイラーに付属する「インテル マス・カーネル・ライブラリ」(MKL)はこのような処理を高速に実行する数値演算ライブラリで、同社のCPUで高速に動作するよう最適化されているだけでなく、並列処理にも対応しているのが特徴だ。本記事ではMKLが備えている機能を紹介するとともに、フリーのライブラリとのパフォーマンスを比較する。

コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る

64d920633d55f029433279e1b83e5ae9.png  コンパイラが持つ最適化機能を利用することで、冗長なソースコードから効率の良いバイナリコードを生成できる。そして、よりパフォーマンスを追求したいなら、インテル製CPUに向けた高い最適化を謳う「インテル コンパイラー」を検討したい。本記事では、インテル コンパイラーの特徴や使い方を紹介するとともに、生成したコードのパフォーマンスがVisual C++やGCC3、GCC4と比べてどの程度違うのか、検証を行う。