サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Nintendo Direct
topsecret.hpc.co.jp
先日発表されたCUDA 6について、NVIDIAが紹介している新機能をいくつか紹介する。なお、Toolkitはまだ評価できる状態ではないため、NVIDIAの紹介からの推測による記事である。そのため、正確性に欠ける可能性について気を付けたい。 Unified Memoryとは CPUとGPUとの両方からアクセスされることを目的としたメモリ領域である。CPUとGPUとの両方にメモリを確保し、データのコヒーレンシを保つように適宜同期が行われるような実装であると説明されている。 しばしば「CPUとGPUの両方のメモリにアプリケーションが直接アクセスできるようになる」というような表現で紹介しているニュースサイトがあるが、CPU上のメモリをGPUが直接アクセスする機能はすでにCUDA 2.2のときに「Mapped Memory」という機能で実現されている。さらに、CUDA 4.0のときに実装された「
4.1以降のCUDAは、コンパイラがLLVMベースのものに変更されている。具体的には、nvccはCUDA CのソースコードをまずLLVM IRと呼ばれるLLVM仮想マシンが解釈する中間コードにコンパイルし、LLVM仮想マシンが改めてPTXアセンブリにコンパイルする。かつてはこの中間コードはLLVMからのforkとして、CUDA Toolkit付属のnvvmプログラムが処理するNVVM IRとして厳密には別物扱いであったが、現在はCUDA向けの変更はLLVM本体のプロジェクトにマージされ、最新のLLVM 3.2では、marchにnvptx (32-bit)/nvptx64 (64-bit)、mcpuに各種Compute Capabilityを指定することでコンパイル結果がPTXファイルとなる。 この機能の最大のメリットは、バックエンドとしてLLVMを持つコンパイラ言語であれば、LLVMを使っ
ランタイムAPIを使うように書かれたCUDAのソースコードは、「C++のソースコード中に、CUDAの記述を織り込んでいく」という形をとっている。そして、これをNVCCでコンパイルする場合、NVCCの内部で、CUファイルからCUDAの部分とC++の部分とを分離し、C++の部分は他のコンパイラに処理を投げてコンパイルを進め、最後にCUDA部分とC++部分をリンクする、という方法をとっている。 このC++をコンパイルするコンパイラとして、Windowsでは標準でVisual C++が、Mac OSやLinuxでは同じくGCCが使われるのであるが、実はこのバックエンドのコンパイラは、ユーザが自由に指定することができる。--compiler-bindirオプションで、使用するC++コンパイラのコマンドを、--compiler-optionsで、そのコンパイラが使うオプションを、それぞれ指定できる。
Keplerアーキテクチャを採用したTesla K20や、x86命令セットを採用した新アーキテクチャのアクセラレータXeon Phiなど、HPC向けに様々なアーキテクチャが発表されたこの1年。これらの最新プロセッサの状況を踏まえながら、FLOPS値の計算方法についておさらいしておこう。 FLOPS値とは FLoating-point Operations Per Second(一秒間あたりの浮動小数点演算)の略で、その名の通りプロセッサが一秒間に何回の浮動小数点演算を行えるかの回数を示す性能指標である。FLoating-point OPerationSの略とし、浮動小数点演算の計算量を表す単位としての用法も見受けられるが、このページでは前者の意味でこの言葉を使っていく。 「浮動小数点演算」の定義は実は微妙な問題であるが、プロセッサメーカーの宣伝用語としては カウントに使われるのは加算と乗
Windows サーバーの運用時に、Windows Update の後にOSが起動しなくなった、HDDが故障した、 アプリケーションが起動しなくなったなど予期せぬトラブルが起こることがあります。 その時にOSの再インストールで対応すると、セットアップで非常に時間がかかります。 Windows2008 には標準で Windows Server バックアップという機能があります。 事前にWindows Server バックアップを実行しておくことで、不具合があっても事前と同じ状態に復旧できます。 今回はOSのHDDのバックアップを取り、その後OSをバックアップデータで元に戻す手順について説明します。 OSのバックアップ【インストール】 (1)最初に Windows Server バックアップをインストールします。 ①スタート→管理ツール→サーバーマネージャを起動します。 サーバ
mpichからOpenMPIへ EL5.4より、提供するMPIの実装がmpichからOpenMPIに変更されます。CentOSやredhatの標準MPIがOpenMPIに変更された事も、御存じの方は多い事と思います。 なぜ、mpichからOpenMPIへ変更するのか? mpichですが、永年使用されてきて、枯れた実装である事から、現在でも信頼して使用しているケースは多いのです。MPIを使うソースコードによっては、libmpich.aとべた描きされている場合すら見かけます。 mpichの現状 あまりにも古いという点があります。既にmpich自体は開発が終了したばかりか、メンテナンスも公式には行なわれていません。 弊社が提供するバイナリは1.2.7p1で、最終バージョンなのですが、これも、そのままでは問題があり、EL4などで動作させる為にfixしています。 現在、MPI規格は MPI-2
このWikiは、開発の「生」データの情報開示を目的としています。 従って仕様などの情報は頻繁に更新されますので、出荷される製品の仕様とは異なる場合の方が多いです。更新された過去の情報は 履歴 から参照することが可能です。 「ベンチマーク」セクションは、おもに当社の製品で使用される事が多いアプリケーションや、新たに適用されるOSについての情報を記載します。 「技術情報」セクションは、HPCシステムズ秘蔵の技術情報を公開しています。 このサイトへのご意見はサイトへの書き込みのみでお受けいたします。また、返信の方法はサイトへの書き込みのみとさせていただきます。 このサイトの情報は、特記のないかぎり、各ページの執筆時点における状況に基づいて記述されています。執筆後に状況等が変化し、閲覧時の最新の状況とは内容が異なる可能性があることを、あらかじめご承知おきください。 注目情報! 本日の出荷 2009
HPL の DGEMM ルーチンのみを、CUDA に含まれる cuBLAS に置き換えただけのものを作成してみたことがあります。 Tesla1060 を搭載したマシンで、DGEMM 以外の BLAS ルーチンは MKL を使いました。 ここに、nVIDIA のシニアエンジニアが CPU との連携を含めたもののレポートがあり、ACM でも既にペーパーになっているので、いまさらの感は否めませんでしたが、手習いとして・・・ DGEMM は完全に Tesla 上で動作させているので、4GB のメモリを持っている tesla1060 では N=16200 が限度です。また、同時に複数のプロセスから tesla を使うことは出来ないのは当たり前なので、まずはシリアルです。 最初回したとき、だいたい 13GFlops 程度、つまりコア1個分の性能しか出ておらず悲しくなりましたが、そもそも Tesla の
GPUお試し環境を詳しく知りたい方はこちらをご覧ください。 CUDAを使うための環境構築 2009/8/25 メニーコアと格闘ブログ:PGI+CUDA? 2009/8/18 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その4)共有メモリ(あえて失敗例) 2009/9/4 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その4)共有メモリ 2009/9/1 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その3)デバイスによる並列計算 2009/8/31 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その2)デバイスが行う処理を呼ぶ 2009/8/28 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その1)とりあえずGPUで計算する改造 2009/8/28 メニーコアと格闘ブログ:CUDAで実装熱伝導解析(その0) 2009/8/21 メニーコアと格闘ブログ:CUDAプログ
このページを最初にブックマークしてみませんか?
『topsecret.hpc.co.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く