従来は高級サーバーでしか採用されていなかったマルチCPU/マルチコアが、一般的なPCにも普及しつつある。このようなマルチCPU/マルチコア環境において、高速に動作するアプリケーションを開発するために注目されているのが「並列化」技術である。本記事では、この並列計算の基本的な考え方やそのメリット、利用できるライブラリなどについて紹介する。
マルチスレッド/並列プログラミングの必携ツール「インテル Parallel Studio」徹底活用
Intel Core 2シリーズの登場以来、一般的なPCにおいてもマルチコアCPUが普及しつつある。それとともに注目を浴びつつあるのが、プログラムの並列化/マルチスレッド化だ。そんな中、インテルから、並列プログラミングを強力にサポートする開発ツール「インテル Parallel Studio」(以下、Parallel Studio)が登場した。
SIベンダー6社、システムの「非機能要求」を“見える化”するツール群を公開
NTTデータや富士通など国内SIベンダー6社は2009年5月26日、システム構築において発注者の「非機能要求」を“見える化”するツール群「非機能要求グレード」を公開した。発注者と受注者で非機能要求を段階的に確認し、利用目的に合うシステム基盤の構築を支援する。6月30日までパブリックコメントを募集し、2009年度下期に最終版を公開する予定。
NRI、OSSを活用したSIフレームワーク「ObjectWorks+」最新版
野村総合研究所(NRI)は、標準仕様のオープンソースソフトを活用した企業向けSIフレームワークの最新版「ObjectWorks+ R1.5」を2009年6月1日に販売開始する。単体テスト支援機能および開発標準化機能を強化した。価格は、基本構成で70万円から。
Emacs超入門[2]:基本的なカスタマイズ方法と定番カスタマイズ例
Emacsの特徴の1つに、柔軟にカスタマイズが可能な点がある。本記事ではフォントの変更や外観の変更、キーバインディングの変更と行った基本的なカスタマイズと、定番のカスタマイズを紹介する。
Subversionリポジトリと連携できるgit-svn
「Gitを使いたいが、中央リポジトリにはSubversionを使わざるを得ない」という場合も多いだろう。そのような状況で便利なのが、SubversionリポジトリとGitリポジトリの橋渡しをする「git-svn」である。git-svnを利用することで、SubversionリポジトリとGitのローカルリポジトリを同期させることが可能だ。本記事では、このgit-svnの活用方法を紹介する。
Gitを使いこなすための20のコマンド
LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。
米NY州、フリー/オープンソース個人開発者を奨励
米ニューヨーク州議会は3月3日(米国時間)、フリー/オープンソースソフトウェアを開発する個人開発者に対し、開発コストの20%、最大で200ドルの税額控除を実施する法案を明らかにした。
インテル コンパイラーでオープンソースソフトウェアをコンパイルしよう
インテルの「インテル C++ コンパイラー」は高速なバイナリを生成するということで知られている。いっぽうWindowsの世界ではマイクロソフトのVisual C++が、LinuxではオープンソースのGCCが事実上標準のコンパイラになっており、多くのオープンソースソフトウェアはこれらのコンパイラでコンパイルされている。そのため、利用したいソフトウェアがインテル コンパイラーでコンパイルできるのか興味のある人も多いだろう。また、Visual C++やGCCでコンパイルされたものと比べ、どのくらいパフォーマンスが違うのかも気になるところだ。
インテル C++ コンパイラーはVisual C++やGCCとの互換性を備えているものの、完全に同一というわけではない。そこで、有名なオープンソースソフトウェアについてインテル C++ コンパイラーでのコンパイルを行い、どの程度の修正でコンパイルが可能なのか、またそのパフォーマンスはどうなのか、調査してみよう。
パフォーマンス解析ツール「VTune」でアプリケーションを高速化
作成したプログラムのパフォーマンスに問題がある場合、性能解析ツールを利用して問題点を分析するのが一般的だ。性能解析ツールには様々なものがあるが、その中でも高機能なものとしてインテルが開発する性能解析ツール「インテル VTune パフォーマンス・アナライザー」がある。
本記事ではパフォーマンスの問題が発見されたプログラムを対象に、このインテル VTune パフォーマンス・アナライザーを使用して問題点の調査とパフォーマンスの改善を行う例を紹介する。
インテル コンパイラーでビルドする高速Firefox
近年、そのパフォーマンス競争が盛んに行われている分野として、Webブラウザが挙げられる。たとえばSafari 4のベータ版は自らを「世界最高速」とうたうなど、それぞれのWebブラウザが自身の高速性をアピールしているが、それではWebブラウザのコンパイルにインテル コンパイラーを利用することでパフォーマンスを向上できないだろうか?
そこでFirefoxの最新版であるFirefox 3.1 ベータ2について、Windows環境でインテル コンパイラーを使用してコンパイルし、そのパフォーマンスを調査してみた。
インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか?
インテルが開発している「インテル コンパイラー」は、インテルCPUに最適化された高速なバイナリを生成するということで知られており、Oracleなどパフォーマンスを求めるベンダーで採用されているほか、科学計算用アプリケーション、3Dグラフィックソフトなど、さまざまなソフトウェアのコンパイルに利用されている。
しかし、「インテル コンパイラーはパフォーマンスが高い」とだけ言われても、なかなかピンと来ない人も多いのではないだろうか。そこで、インテル コンパイラーでコンパイルされたバイナリをベンチマークテストし、実際どの程度の性能向上が見込まれるのかを調べてみよう。
「インテル コンパイラー」で高速に動作するバイナリを作成しよう

インテルが開発している「インテルコンパイラー」は、インテルCPUに最適化された高速なバイナリを生成するということで知られている。そのため、大量の数値計算が必要とされるシミュレーションの分野や3D CGなどの画像処理、科学技術分野などのソフトウェアで多く採用されている。
しかし、「インテルコンパイラーはパフォーマンスが高い」とだけ言われても、なかなかピンと来ない人も多いのではないだろうか。また、一般的なソフトウェアでも性能向上の恩恵に預かれるのかも興味深いところだろう。
そこで本特集では、このインテル コンパイラーでコンパイルされたソフトウェアについてそのパフォーマンスを調査するとともに、インテル コンパイラーでのコンパイルテクニックや、性能解析ツール「インテル VTune パフォーマンス・アナライザー」を使ってパフォーマンスチューニングを行う方法なども解説する。
日本HP、要件管理とテスト管理を統合するアプリ品質管理ソリューション最新版
日本ヒューレット・パッカード(日本HP)は2009年2月25日、アプリケーション品質管理ソリューションの最新版「HP Quality Center 10.0」を発表した。要件管理とテスト管理を単一プラットフォームに統合し、品質プロセスの標準化を支援する。4月1日から販売開始する。
WindowsでのGit環境構築とその注意点
もともとはLinuxカーネル用のバージョン管理システムとして開発されたこともあって、GitのWindowsサポートは若干遅れている。特に日本語環境で利用する場合は設定などに注意が必要だ。そこで本記事では、Windows環境でGitを利用する方法およびその設定方法、そしてGUIでGitの機能を利用できるツールについても紹介する。
分散バージョン管理システムGitを活用しよう

近年急速にユーザーを増やしているバージョン管理システムに「Git」がある。GitはLinuxカーネルの開発リーダーとしても知られるLinus Torvalds氏らが、Linuxカーネルの開発に使用する目的で開発した分散型バージョン管理システムで、現在ではPerl 5やRuby on Rails、Android、Wine、X.orgなど、さまざまなプロジェクトで採用されている。
本特集では、Gitを使用するのに必要な「分散型バージョン管理システム」の基本的な考え方を紹介するとともに、Gitの導入方法やWindows環境での利用方法、Subversionなどほかのバージョン管理システムとの連携など、Gitを活用するためのテクニックを紹介する。
最近流行りのプログラミング言語
プログラミング言語の流行り廃りというのは、それ自体なかなか興味深い分析対象だ。少しだけ昔話をすると、私がコンピュータをいじり始めた十数年前は、PascalやQuick Basicあたりも広く使われてはいたものの、結局はC言語を学ばないとどうにもならなかった。私より世代が少し前の人ならばアセンブリも必修科目だっただろうし、少し後の人だと、もしかすると最初に触れた言語はCではなくJavaかもしれない。
最適化・並列化コードを生み出す最新コンパイラ「インテル コンパイラー」

最近のコンパイラには、出力するバイナリコードをより高速に実行できるようにする「最適化」機能が搭載されている。CPUやPCアーキテクチャがより複雑化している近年、コンパイラによる最適化はより注目を浴びるようになっている。
コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る
「よりパフォーマンスの高いプログラムを作成するにはアセンブラを駆使すべし」という話を聞いたことがある人も多いだろう。これは、C/C++言語で記述されたプログラムには冗長な部分があるため、ノウハウを持つプログラマがアセンブラでチューニングしたプログラムの方が高いパフォーマンスを得られる、ということであった。しかし、現在では必ずしもこのことは当てはまらなくなっている。その理由は、コンパイラの進化と、CPUおよびPCアーキテクチャの複雑化にある。
インテル謹製の数値演算ライブラリ「MKL」を使ってプログラムを高速化
各種スケジューリング処理やシミュレーション、統計処理、デジタル制御や信号処理などの分野では、多次元行列演算や高速フーリエ変換(FFT)、線形計画法など、さまざまな数学的処理が必要とされる。これらの処理に対するアルゴリズムはほぼ完成されており、フリー/商用を問わず、すでに多数の計算ライブラリがリリースされている。その1つが、インテルが提供する「インテル マス・カーネル・ライブラリ」(Intel Math Karnel Library、以下MKL)だ。