フィックスターズ、Yellow Dog Enterprise Linux for CUDAを提供
~初期状態でNVIDIA CUDAをサポート

Yellow Dog Enterprise for CUDAは、x86で動作する初めてのYellow Dog Linuxであると同時に、CUDAサポートを特徴とする

3月3日 提供



●x86環境で使えるYellow Dog Linuxをリリース

 株式会社フィックスターズは3月3日に、同社のYellow Dog Linuxシリーズの新製品「Yellow Dog Enterprise Linux for CUDA(YDEL for CUDA)」をリリースする。すでにPreview版の提供は行なわれていたので、試してみた読者もいるかも知れない。

 Yellow Dog Linuxとしては初めてのx86対応版となる本製品は、製品名からも分かるとおり、NVIDIAのGPUコンピューティング技術であるCUDAのサポートを打ち出しているのが特徴。NVIDIAが提供するCUDAドライバ・ツールなどをインストールした状態で提供されることや、動作確認済みの状態でアップデートが提供されることで、Linuxを用いたCUDA環境としての高い利便性と信頼性が提供される。資料によれば、LinuxとCUDA環境をインストールする時間を30%短縮できるとしている。

 また、統合開発環境であるEclipseに、同社が開発したCUDA開発環境プラグインを統合。Eclipseの基本機能に加えて、CUDAで使われる予約語のハイライト表示などが可能になっている。

 価格は1サーバーあたりの1年間有効のサブスクリプションが45,000円で、サポート料が含まれる。オンラインまたは提携パートナーから販売される。このほかに教育機関向けにはノンサポート版を無償提供。

 製品のアップデートには、YDL.netのアカウントを用いてYumのリポジトリへアクセスすることになるが、ノンサポート版の場合でもユーザー登録を行なうことで、そのアカウントが提供され、アップデートが行なえるようになっている。

●YDEL for CUDAの特徴を担当者に聞く

 このYDEL for CUDAについて、開発の経緯や意図、特徴などを、本製品を担当したフィックスターズ、ソフトウェア・プラットフォーム部門長の浅原明広氏に話をうかがった。

-Yellow Dog Linuxとしては初めてのx86版ということになりますが、この開発経緯を教えてください。

浅原氏:Yellow DogはもともとPowerPCに特化したLinuxディストリビューションとして成長し、PS3向けにも提供してきました。しかし、AppleがMacintoshでx86を採用し、PS3は昨年(2009年)の新モデルからLinuxに対応させることができなくなってしまいました。これらもプロ向けには引き続きサポートしていきますが、特にコンシューマ向けでは新規ユーザー獲得の見込みがありません。そこでx86への対応を検討することになりました。

-ベースは従来と同じと考えていいですか?

Fedoraの流れを汲むCentOSをベースにPowerPCに特化したYellow Dog Linux。今回発表されたYDEL for CUDAはx86対応に加え、CUDAへ特化するという独自色を打ち出した。今後は、Cell、SpursEngine、各種DSPなどへの対応も進めていく

浅原氏:従来と同じくCentOSをベースに、不要なパッケージを取り除いて、安定化させている点では同じです。x86版ではCUDA関連のフィーチャを加えているのも特徴になりますが。

-製品名にCUDAという言葉を含めるほど対応をアピールしていますが、その意図を教えてください。

浅原氏:PowerPCに特化したLinuxという特徴があった従来のYellow Dogですが、x86にはほかに多数のLinuxディストリビューションがあります。x86で、Yellow Dog、フィックスターズならでは特色として、マルチコアやアクセラレータとの連携を打ちだそうということになったのです。for CUDAという名称は悩んだところで、「Yellow DogじゃなくてGreen Dogじゃないか」なんて冗談も言ってたんですが、現実的に考えて、CUDAはアクセラレータとして開発環境の充実を見ても、もっとも成功しているといえますので、今回の製品ではCUDAというキーワードを打ち出すことにしたのです。

-NVIDIAのバックアップはあるのでしょうか?

浅原氏:これもCUDAのキーワードを製品名に含める一因となりました。NVIDIAとは頻繁に情報交換しているほか、YDEL for CUDAについても技術的なバックアップをしてもらっています。例えば次バージョンの先行アクセス権をもらったりなどです。こうした技術的なサポートはLinux開発にとって非常に重要といえます。

-現状でCUDAに特化しているといえる部分はどのあたりにあるのでしょうか?

浅原氏:まず、パッケージにLinuxとCUDA SDK、ドライバがすべて含まれて、簡単に動作させられるというだけでも大きな違いがあると思っています。CentOSとCUDAと組み合わせて使われる方は多いのですが、ちゃんと動かないという声をよく聞きます。CUDA対応の統合開発環境も提供していますので、ライトなユーザーには好まれると思っています。

-EclipseのCUDA開発プラグインの開発経緯について教えてください。

浅原氏:WindowsではNVIDIAがNexusというVisual Studio上で動作する開発ツールを出していますが、Linuxにはそうしたものがありません。Linuxユーザーはエディタでコードを書くか、中にはコーディングだけWindows上でVisual Studioを使い、ファイルをコピーしてLinux上でコンパイルする、という人もいます。Linux上で統合開発環境が提供できたら便利だろうとプラグインを開発することにしました。

-CUDAプラグインは現状ではどのような機能を持っていますか?

浅原氏:CUDA関連の予約語のハイライトなどです。現在はベータ版という位置付けで、いくつか制限があります。一番大きな制限がデバッガで、NVIDIAが提供しているCUDA-GDBというデバッガと連携する機能を持っていますが、現状ではCUDA-GDB固有の、例えばハードウェアスレッドを切り替えてスレッド実行する、などの機能を利用できません。これはCUDA-GDBがマシンインターフェイスを備えていないので、Eclipseと対話させられないためです。改善するにはNVIDIAの協力が必要になる部分ですが、早めの対応が行なえるよう協議しています。

-現状デバッグを行なうとしたらどうすればいいのでしょうか?

統合開発環境のEclipseにCUDA対応プラグインを統合。予約語のハイライト表示などを行なえる

浅原氏:通常のGDBでデバッグできる部分はEclipseから実行可能ですので、CUDAカーネル部分以外はブレイクポイントを付けてテストするなど、問題なくデバッグできます。CUDAカーネル部分は、コマンドラインからCUDA-GDBを実行することになります。

-YDEL for CUDAはパフォーマンス面のメリットはあるのでしょうか?

浅原氏:CUDA SDKに含まれるサンプルを実行した際の性能比較では、RedHatに対して10%近い性能差を付ける例がありますが、現状では数%といったところです。というのも、今はまだカーネルには手を加えていないためで、今後はCUDAに合わせてカーネルをチューニングする予定です。

-カーネルチューンとは具体的にはどういった部分に手を入れる予定ですか?

CUDAアプリ実行時のパフォーマンスを、他のディストリビューションと比較したもの。大きいところでは10%近い差もあるが、現状ではおおむね数%の性能差となっている。今後カーネルチューンを行ない、あらゆるCUDAアプリで10%の差がつくことを目標にしている

浅原氏:プロセスの時間割り当てをCUDAアプリに重点的にスケジューリングする、コンテキストスイッチの高速化などを検討しています。あと、CUDAのパフォーマンスでボトルネックになるのがPCI Expressの転送速度なのですが、この速度向上もできたらいいな、と思っています。ドライバを呼び出す層など、弊社だけでできる部分は積極的に進めていこうと思っていますが、根幹部分はNVIDIAからドライバのソースコードを開示してもらう必要があるので、弊社だけの考えでは進められない部分でもあります。最終的にはすべてのCUDAアプリが他のLinuxディストリビューションで実行するより10%以上高速に動く、というのを目標にしています。

-そのほかに将来の機能拡張の予定などはありますか?

浅原氏:マルチコア・アクセラレータ向けのLinuxという特色をさらに強めて、広範囲にサポートしていく予定です。弊社がリリースしているx86向けのOpenCLコンパイラであるFOXCや、そのCell対応版であるHybrid FOXC。また、Y-HPC 2.0の統合も考えています。2月に「Y-HPC 2.0 for Windows」という、グリッドシステム向けのフレームワークを発表したのですが、この基本部分をLinuxに移植して、YDEL for CUDAに組み込もうと思っています。これを利用することで複数のサーバーをクラスタにしてスケールアウトさせることが容易になります。

-サポート体制について教えてください。

問題の切り分けなどをしなくても、Linux/CUDA双方のサポートを行なえる点がフィックスターズの強みであるとする

浅原氏:LinuxとCUDAの両方のエンジニアがいる、というのは弊社の強みだと思っています。Linuxでのトラブルなのか、CUDAでのトラブルなのかを考えることなく、質問していただけます。年間45,000円のサブスクリプションには、こうしたサポート費用が含まれます。ただ、CUDAでもインストールや操作上の質問はサブスクリプションの範囲内で受け付けますが、アプリケーション開発に関するサポートについては別途メニューをご用意させていただこうと思っています。

-YDEL for CUDAでは自動アップデートも売りになっていますが、この点について紹介してください。

浅原氏:先にLinuxとCUDA関連ツールがすべて1つのパッケージになっていることを紹介しましたが、アップデートも苦労されている人が多いようです。例えば、CUDAのバージョンを上げたら画面が出なくなった、CentOSをアップデートしたらコンパイルがちゃんとできなくなった、などの事例があります。YDEL for CUDAではOSとドライバの整合性チェックをしたうえでアップデートを出すので、アップデート後の不具合を極力避けることができます。

-x86対応のYellow Dog Linux単体、Eclipseプラグインの単体提供などは考えられるでしょうか?

浅原氏:どちらも計画はありません。Yellow Dog Linuxのx86対応はマルチコア・アクセラレータへの対応で特徴あるLinuxディストリビューションという考えがあるので、その点を省いた提供は今後も可能性は低いと思います。EclipseのCUDAプラグインについては可能性はあると思います。

-最後に一言お願いします。

浅原氏:PowerPC向け製品の流れで今回の製品もバージョン6.2からスタートしますが、x86としてはバージョン1.0なので、これから進化していくディストリビューションだと思っています。将来的にはGPUコンピューティング、マルチコア環境のデファクトスタンダードと呼ばれるOSになりたいと思っています。

(2010年 3月 3日)

[Reported by 多和田 新也]