【備忘録】 Ubuntu 11.04(32bit)におけるCUDAセットアップ手順

今回は卒研絡みの話。
卒研室のシミュレーション用PCで動かすことを目的として、GPGPU用開発環境であるCUDAの開発環境構築をこれまで何度か行ってきました。今まで何度も何かしらの形で失敗してきましたが、昨日(7月6日)再構築を行ったときにやっと自分一人で完璧な環境構築が行えたので、メモも兼ねてセットアップ手順をまとめてみることにしました。

続きを読む

Linuxが怖い…

今日は卒研の話を少しばかり。
研究室でシミュレーション用としてCUDAを動かすために使っているPCにはUbuntu 10.10をインストールしています。一昨日アップデートをチェックしてみたら、カーネルか何かのセキュリティアップデートとおぼしき物が来ていたのでそのアップデートを適用しました。

その後再起動してみると、
"Checking battery state…"
というメッセージを出してGUI(GNOME)が起動しなくなってしまうという事態が生じてしまいましたorz

このような展開は今回に限った話ではなく何度も似たような状況に(その都度微妙に症状が異なっているので応用が効かないのが…)陥っていて、OS入れ直し以外の解決策が無いものか色々ググッてみるものの決めてと呼べる解決策が見つからず、どうにか出来ないかと試みて早2日、未だこの症状から脱却出来ていない状態です。

そんなこんなで若干Linux恐怖症気味ですorz
こんなんでLinux使いこなすまでに至ることが出来るのか不安です…

参考:シミュレーション用PCのスペック

FreeMatで16点DCTの実装と近況報告

こんばんは。更新しようにもネタがない状態でしばらく放置してました。
私のことなので、今後も月一程度のマイペースな更新になりそうです。

近況報告

最近は卒研や課題の処理に明け暮れる日々です。卒研は研究で使おうとしているFORTRANで書かれたSPH法のシミュレーションプログラムをC言語のソースに変換する作業は一通り終わって、今はプログラム中に出てくる数式のTeX化やプログラムがまだ思うように動いてくれないのでデバッグ作業を中心に行っています。
CUDAへの並列化までにはまだしばらく時間がかかりそうです…

FreeMatで16点離散コサイン変換(DCT)を実装してみた

「信号処理とメディア通信」という講義で離散コサイン変換(DCT)を扱ったので自習の間隔で寮の学習時間帯(21:00〜23:00)の半分ほどをこれに費やしてました。

授業はいつもMATLABを使いながら進めているのですが、自分の個人ノートPCにMATLABは入れられないので代替としてFreeMat*1というフリーソフトを使っています。

ところが、今日FreeMatを使っていてDCTがないことが分かり、PBL課題も控えているのにこれは不便だなぁ…と感じて思い切って実装してみることに。

ソースコードはこんな感じになりました。

% 16点DCT
function dct = dct16(x)
    N=16;
    n=0:N-1;
    
    dct=zeros(N,1);
    
    %基底ベクトルを算出
    p=zeros(N,N);
    p(1,:)=1*cos(pi/(2*N)*(2*n+1)*0);
    
    for l=2:N
        p(l,:)=sqrt(2)*cos(pi/(2*N)*(2*n+1)*(l-1));
    end
    
    %信号xのDCT
    dct=p*x/N;

※DCTの定義式は『やり直しのための信号数学―DFT、FFT、DCTの基礎と信号処理応用 (ディジタル信号処理シリーズ)』に掲載されているものに基づく。

今日はこれで満足してしまったので、今度はN点DCTやIDCTの実装も試みてみたいところです。

近況報告

1ヶ月ぶりの更新です。今日は例によって近況報告で。
前期中間試験が終わったのでやっとブログの更新にこぎつけました。

進学先が決まりました

来年度からは九州工業大学情報工学部システム創成情報工学科へ進学することになりました。自分のやりたいことがあるので、まずはそのために必要な基礎事項を大学に入学するまでに学習して、加えて大学入学後のキャリアプランも親の意向を汲みつつしっかりと決めていきたいところです。

卒研本格化

進路が決まったので先週から卒研の方を本格化させています。現在取り組んでいる&これまで取り組んできたこととして

  • GPGPUを利用した開発環境(NVIDIA CUDAを使う)の構築
  • 粒子法(SPH法)やコンピュータシミュレーション手法の学習
  • FORTRANで書かれているシミュレーション用プログラムをC言語に変換する

があります。現在研究の進捗が著しくない状況なので、そろそろピッチを上げて取り組んでいかないといけないなぁ…と痛感しています。

卒研以外には…

多くの時間があるのに卒研以外に何もしないのも至極勿体無いので、

  • AOJ/PKU Judge Onlineなどを利用したプログラミング能力の醸成
  • アルゴリズムとデータ構造の授業で取り組んだ内容を結構忘れていることが分かったのでそれの復習(上記の事項とも関連)
  • 応用情報技術者受験を受けようか迷い中
  • 英語・数学・物理の継続的な独習(英語は主にTOEIC対策)

と言う感じで卒研以外にやりたいことがいくつか出てきています。
現状は一日を過ごしていく中で無駄な時間の割合が正直高いので、以下のサイト
《時間管理(タイムマネジメント) - CoolBeanWorks.com》
を参考にちょっとずつ無駄な時間を減らして、有意義に過ごせるよう少しずつ改善が必要だと感じています。

ということで、今日はこの辺で。

20歳になりました

先月30日を持って10代にさよならしてきました。ということで、20歳になって数日のtt_w54sです、こんばんは。
正直、まだ20歳になったという実感が湧きません。もう既に年齢的には大人なのですが、20歳になったんだと思えるようになるまでにはしばらく時間がかかりそうです。

ということで、まずは間近に迫っている大学編入試験をクリアして進学先を確定させたいところです。
今は九州のとある大学の推薦選抜の準備と、専攻科の学力対策を並行して進めていますが、正直、対策始めるのが遅すぎてアレな状況ですorz 残された時間で悔いの残らないように準備をしていかないといけないと痛感しています…

そして進路が決まったら、卒業研究に本格的に取り組むのはもちろんですが、最近になっていくつかやってみたいことが沸々と出てきました。

進路確定後に取り組みたい事(備忘録を兼ねて)

もっと早く色んなことに挑戦してみたかったところですね… 高専最後の年ですので後悔しないようにしていきたいところです。
ということで、今日はこの辺で。

編入勉強ログ(2011/03/09)

数学

応用数学

応用数学

英語

  • 速読英単語必修編 No.2の学習

反省点

  • 今日も物理を進めることが出来ず…