2009-11-01から1ヶ月間の記事一覧

CUDAの本

いよいよ明日発売か。 今から読むのが楽しみだ。今日フラゲした人の話ではかなりいいらしい。 (本を発売日前に手に入れることもフラゲっていうんだ。ゲームソフトに対してのみ使うと思っていた)はじめてのCUDAプログラミング―驚異の開発環境[GPU+CUDA]を使…

CUDAの最適なThread数

CUDAのプログラムではBlock内のThread数は多くすると必ずしも速くなるとは限らない。 Occupancyとかの関係でThread数を変えていくと突然速くなるポイントがあったりする。Thread数を減らしても同時にSMに入るBlock数が増えてOccupancyが上がれば速度が上がる…

CUDA実験

cudaMalloc()を一切使わないで、代わりに__device__変数を利用してみた。 結果としては、アプリケーション全体では大した差は出なかった。 もともとcudaMalloc()を一回しか呼ばないようにしてたしなぁ。たくさんcudaMalloc()呼んでるプログラムなら、もう少…

スパコンTOP500

TOP500 List - November 2009 | TOP500 Supercomputer SitesついにRoadrunnerが1位から落ちた。 日本は31位の地球シミュレーターがやっと。 中国は5位と19位に入っている。やばいね。日本。 いつの間にか技術を誇れる国ではなくなっているようだ。 民主党政…

Fermi発表された

NVIDIA、Fermiアーキテクチャ採用のHPC向けGPU「Tesla 20」 - PC Watchおお、teslaの名前で出すんだ。ちょっと意外。 画像出力つきなのか。これも意外。まあ、ついてて困るものじゃないか。予想よりは安かったかな。 でも、良く考えると、かなりいいノートPC…

1時間でテトリスを作るニコニコ動画を最後まで見た

やっぱり凄かった。 でも、過去に10回以上テトリス作ってるのか。 アルゴリズムを思いつくのが異様に早いのも納得。最後がおもしろいので、みるなら最後までがお勧め。

SSEでの整数からdoubleへの変換

利用してint値をdoubleに変換する次の処理をSSEに置き換えるのは次のコードですむ。 int i[4]; double d[4]; d[0] = (double)i[0]; d[1] = (double)i[1]; d[2] = (double)i[2]; d[3] = (double)i[3]; __m123i val; // なんらかの整数 __m128d d01 = _mm_cvte…

xmingでcuda visual profile

xmingをinstallして、リモートからCUDA visual profileを起動できた。 Linuxにはそれほど詳しくないのでgoogle先生に聞きながら作業を進めた。これまでは、テキストでprofile情報を見ていたが、これからはグラフィカルに結果をみれる。 Xフォワーディングが…

ATOK 2009

とりあえず、かっとなって買ったATOK 2009 for windows ミニPCをインストールした。 現在、ATOKを使って書いている。 どれぐらい便利になるかはもう少し使わないと実感できないかな。 Installerは2GのUSBメモリに入っており、Install後は普通にATOKのログが…

CUDA勉強会

内輪の勉強会に行ってきた。 10時から15時ぐらいまで。 残念ながら終わっても飲みは無かった。とりあえず、今日の話を聞いて試してみようと思ったのは次の事。 __device__をつけて変数を用意すればcudaMalloc()無しでdevice用のメモリが確保できるらしいので…

勉強会

明日の土曜は内輪でのCUDAの勉強会。 かなり長時間やるようだ。終わったら飲み会ぐらいあればいいのだが。そうそう。 CUDA compute capability 1.3では(Kernelのレジスタ数の4の倍数への切り上げ)x Block内のKernel数が16384を超えると正しく動作しない。 …

すごすぎる

テトリスを、エディターやコンパイラのインストールも含めて1時間で作ってしまうという驚異の動画。まだ、途中までしか見てないけど手際とか良すぎる。 週末じっくり見よう。たぶん、力の差を感じて落ち込むと思う。

【後藤弘茂のWeekly海外ニュース】LarrabeeはSIMDとMIMDのバランス--Intel CTOが語る - PC Watch今回の後藤さんはLarrabeeの話し。 MIMDとSIMDの戦いの歴史の話なども面白かった。 Larrabeeも早く触ってみたいものだ。(SSEは命令がすっきりしてないのであま…

Fortranからc++関数の呼び出し

extern "C"を使って呼び出し規約をCと同じにすればいい。 subroutineもfunctionも同様にいける。 cppfunc.cpp extern "C" int ADD_NUMBER(int *a, int *b); int ADD_NUMBER(int *a, int *b) { return *a + *b; } add_num.f90 program add_num implicit none …

Visual C++ 2008 ExpressのC Compilerって

C99に対応していないのか・・。 いまさらC90準拠のプログラムなど書きたくない。 C++で組んでFortranと連結するか。

FortranからC関数の呼び出し

FortranからCの関数を呼び出す方法が、多少分かってきたのでここまでの纏め。 Fortran暦は2日なので間違いやFortranの暗黙のお約束に反している部分はあるかもしれない。環境はWindowsでCコンパイラにはMicrosoft Visual C++ 2008 Express Editionのコンソー…

カイロプラクティク

姿勢が悪いので、月に一回はカイロで骨の歪みを治してもらっている。 安くはないけど、運動が嫌いなので体のために出来る数少ないこと。今回は特に激しくバキバキ鳴ってた。

googleのパスワード忘れた

igoogleやgoogleリーダーやgmailを使っているが、たまにしかパスワードを求められないのでいつも記憶が危ういのだが、今回はついに思い出せなかった。仕方なくパスワード変更・・。 google用のパスワードは長いので忘れやすい。しかたが無いので、今回はメモ…

Ando's Processer Information Page

http://www.geocities.jp/andosprocinfo/毎週のProcesserに関する話題を紹介している。 面白いので更新されたら見るようにしている。 今回の話題の中では中国の1.2PFlopsのスパコンが気になるかな。 日本も頑張れ!

Fortranの勉強

Fortranはまったく使ったことも無かったけど、少し調べる必要が出てきた。 しかもFortranとCのプログラムを連携させなければいけない。 ぐぐればいろいろと情報は出てくるけど、LinuxやWindowsの違いやC compilerやFortran compiler毎にやり方が違うのでなか…

Fermiの設計思想

今回も後藤さんが詳しく纏めてくれている。【後藤弘茂のWeekly海外ニュース】NVIDIA Fermiのマルチスレッディングアーキテクチャ - PC WatchFermiはより汎用コンピューティング向けに進化している。そのためにNVIDIAが選んだのはメモリ階層を深くしてメモリ…

Virtual Clone Drive

Vista(64bit)に仮想ドライブとしてVirtual Clone Driveを入れて使っていたが、Windows 7(64bit)にアップデートしたらいつの間にか消えていたので再度インストール。Windows 7上でも問題なく動作した。仮想ドライブは、isoとかのファイルをDVDやCDのメディア…

Occupancyの読み方

CUDA Profileを使うと次のようなログが取れるが、その中にoccupancyというのがある。 # CUDA_PROFILE_LOG_VERSION 1.4 # CUDA_DEVICE_NAME 0 GeForce GTX 280 timestamp,method,gputime,cputime,occupancy timestamp=[ 2155.302 ] method=[ _Z10fhaar1dwtdiP…

猫動画

かわいい猫動画が大量に紹介されている。 癒される(´Д`;)ハァハァ http://journal.mycom.co.jp/column/nico2guide/029/index.html猫と言えば知り合いに、プロフィール用の猫絵を頂きました。 ありがと〜

CUDA profileの読み方

さっそくCUDA profileを利用してみた。logファイルの中に以下のような関数ごとの時間が大量にでる。 timestamp=[ 2155.302 ] method=[ _func_name ] gputime=[ 7.808 ] cputime=[ 74.730 ] occupancy=[ 1.000 ] gputimeとcputimeの意味がいまひとつ分からず…

CUDAの復習とか

特に用事が無かったので一日引きこもってしまった。今日はNVIDIAのサイトにアップされた資料を使って、CUDAについての復習を行った。 座学のみだけど・・。CUDA Education & Training | NVIDIA Developer次の2つのpdfを直ぐには関係なさそうな箇所を飛ばし…

Fermiの構造とか

【後藤弘茂のWeekly海外ニュース】フラットで自由度が高いNVIDIA Fermiのアーキテクチャ - PC Watch後藤さんがFermiの解説をしてくれている。 G80やGT200ではLoad/Store UnitがSMの外に合ったとは知らなかった。 そしてFermiで各SMの中に入ることも。 各SMが…

初日?

初日なのでちゃんと書きたかったけど、いろいろ設定していたらいい時間になってしまったので簡単に。プログラミングでメシを食わせろ!!成功する開発チームのための技術と運営術作者: 小俣光之出版社/メーカー: 秀和システム発売日: 2008/10/21メディア: 単行…