admin のすべての投稿

マンデルブロ集合

この記事はOpenCL入門―GPU&マルチコアCPU並列プログラミング for MacOS Windows Linuxを参考に書いている。
マンデルブロ集合の計算結果に応じて色分けされた画像を、ビットマップ形式のファイルとして生成するプログラム
マンデルブロ集合とは、複素平面上の集合が作り出すフラクタルである。(Wikipedia参照)
$Thanksgiving days to hang out(←旧ときどき日記)-マンデルブロ
↑マンデルブロ集合をxy平面に表したもの
どのような集合かというと
Thanksgiving days to hang out(←旧ときどき日記)-マンデルブロ平面
で定義される複素数列 {zn}n∈N が n → ∞ の極限で無限大に発散しないという条件を満たす複素数 c 全体が作る集合がマンデルブロ集合である。ただこれではただの数列なので、これを平面に表すために、
zn を点 (xn, yn) に、c を点 (a, b) にそれぞれ置き代えて、
Thanksgiving days to hang out(←旧ときどき日記)-マンデルブロ漸化式
とすればいい。
今回はこのマンデルブロ集合を計算し、その書く要素計算結果ごとに色分けし、最後に集合の画像を出力するというプログラムを作成する。
このプログラムを構成するクラスは
$Thanksgiving days to hang out(←旧ときどき日記)
となっている。
プログラムの流れ
1.Mainが
 -Mandelbrot
-VdcMapper
-ClHelper  を作成
2.VdcMapper, ClHelperによって取得した材料をMandelbrotがセットする
3.メインが計算命令
4.Mandelbrotがカーネル作成、メモリオブジェクト作成、カーネル引数の設定、実行リクエスト
5.Calc.cl発動(計算)
6.メインが計算結果を取ってくる
7.画像出力のためにColortableで色をつける
8.Bitmapに渡して、画像出力
そして今回の並列処理について説明する。マンデルブロ集合を求める計算をOpenCLデバイスにしてもらうことになるが、その際に考えなければいけないことが3点ある。
1.カーネル関数
2.インデックス空間の次元
3.ワークアイテムの数
OpenCLデバイスは.clファイルを処理するが、カーネル関数にどのような処理をさせるか、インデックス空間をどのようにとるか、ワークアイテムをどのようにPEに割り振るかを考えなければいけない。

Twitterにブログ。ブログにTwitter。

ここ最近ブログ書いていなかった。
その原因は間違い無くTwitter。
いろいろ考えることはあるけど、なかなかブログに書こうとは思わない。これは良くない。思考ツールとしてはTwitterよりもブログのほうが圧倒的に素晴らしい。しかし利便性が高いがゆえにTwitterを使ってしまっている(´;ω;`)
Twitterの内容もある程度ブログでまとめることにする。驚愕の量だった。その量およそ6000字。駄文散文失礼。数字は日づけ。
4.17 知ってしまった世界
 オナニーした者がもうオナニーを知らないまま生きていくことが出来ないのと同様に、幸せについて考えることを知ってしまった者は、もう知らないには戻れない。悩みながらも考えぬきつつそれが正しいと信じて生きていくしかない。
5.3 自分にとって最高の生き方とは?
 ソクラテスは言った。『善く生きろ』と。自分が正しいと思ったことを貫き通す。それが善く生きることらしい。確かにわからんでもない。どのようにして生きるかなんて誰でも少なからず考える。
 その1つの指標として夢というものをもつ。夢とは、大人になればなるほど現実に押しつぶされて、夢を持たなくなる。多くはサラリーマン。就活なんてその最たる例でみんなサラリーマンになるためにES書いたりして頑張る。就活やる時点で夢なんて持ってるやつなんてほぼゼロに近い。ただ夢を持ってたほうが良いと言うつもりもない。夢なんてなくても良いと思ってる。むしろないほうが良いかもしれない。夢を持つことは、あまりにもリスクが高すぎる場合が多い。それに対し、大学でてリーマンになるのが一番リスクが低い。
 ここで考えなくちゃいけないのは、どちらのほうが幸せかということ。どっちが納得できるか。よく言う、貧乏でも夢を追ったほうが良いのか。それとも、仕事が趣味にならなくてもある程度の収入を得る仕事につく。どっちが幸せか。金と幸せは必ずしも一致しない。ぼくは、きっと一番大切なことは常に自分の夢ややりたいことを探し続けることじゃないかと思っている。もちろん夢が見つかったなら、それを追って見るのも良い。もし、なくても探し続けることが自分の幸せになるんじゃないかと。これは仕事だけではない。
 そしてまたぼくが思うのは、人に流されるんじゃなく、自分の中でありとあらゆる選択の可能性を考えた上で、自分が良いと思える道を選んだほうが良いということ。こーいうことを考えていくと多くの人の答えとして幸せな家庭を築くことって言う人が多いと思う。なんつーかこれは資本主義の弊害というか趣味を仕事にできない人間にはありがちのことじゃないかと。ある意味流されるっていう部分としょうがない部分もあるけど、本当に死ぬほど悩んで考えたんかとか思っちゃう。まぁそれも幸せだろうけど。恋愛は人生を善く生きるための最も効率の良い手段。誰でも手軽にできる。かつかなり面白い。世間からも認められている。この手段を使った方が良いのか。つまりそれは独身のことだけど。やっぱり使ったほうがいいんじゃね?っていう。でもそれをやると恋愛に満足してしまうがゆえに、夢なんてどーでもよくなってしまって適当な『幸せな家庭を築く』になっちゃうよね。それを心の底からそう思えてるのかもしれないが、もっとなんかあるじゃんって思う。お前の小さい頃から夢は幸せな家庭を築くことだったのかと。もっとあるじゃん。それをちゃんと考えようぜっていう話っすよ。
 適当に頑張るじゃやっぱりダメだって。努力することが幸せなんだっていうやつは絶対自分に嘘をついてる。もっと本気で最後まで考えろって思う。夢探しに時間かかってもええねん。いろんな事して分かることも多いかもしれないけど自分の中の根本的な興味はそう変わらんて。それをとにかく頑張るとか言って適当にやるんじゃねーよ。そこが一番大事だろ。全力で探せよ。頑張ってる自分に酔ってんじゃねーよ。人見下してんじゃねーよ。結局何が言いたいかって、お前の幸せは本当にそれか?お前は明日死ぬとしても、本当に後悔のないように生きれてるのか?ってこと。以上。
5.5 Twitterが残した産物
 沈黙は金。言わぬが花。ということわざがあるように、昔から何事も黙って実行することが美徳とされる文化が日本にはある。しかしながらTwitterはまさにその文化を真っ向否定するようなある種の文化を築いている。なぜこんなにも中高生をはじめとする学生または社会人に広まっているのか。Twitterではどんなことが呟かれているのか。
 自分が感じるものでは、おはよう、おやすみ、~なうというものが多い。そしてそれに対するリプライ。会話等々。ここでまた1つ疑問が。なぜメールではなくTwitterなのか。Twitterを始めとするSNSではそのネットのオープンな特性ゆえ出会い系サイトのような使われ方をしていることが問題になっている。男はいいが、女からすれば面倒極まりないとも思うのだがそうでもないということ実際に使ってみて感じる。
 ここで重要なキーワードとなるのが「かまってちゃん」の存在。私は、誰しも少なからずかまってちゃんだという考えだが、Twitterは非同期リアルタイムなゆえにいつでも誰でも人が存在する。自分のツイートをいつ誰が見ていてもおかしくはないということ。それに多くの人がハマっている。いつでも誰かいてかまってもらえる。それは誰だって良い。むしろ日常で接せず、自分のことを知らない人に話を聞いてもらいたいかもしれない。昔のような沈黙は金の時代は終わったのだ。日本人はもっと自分を認めてもらいたいっていう想いに溢れている。
 ただ前にも述べたようにそれが偏ってしまってはいけない。自由に公の場で発言することができる時代になったが、それを自分の快楽のためだけに利用すると泥沼にハマる。そうではなく、セルフマネジメントの力がこれから求められてきているではないか。
 あまりにも、Twitterという媒体が世にでるのは早すぎた。しっかりとなぜ自分はツイートをするのかを考えるべき。それはかまってほしいという理由でも良い。最低でもそれをわかった上で利用するべきだと思った。人間はもしかしたらもう成長しなくても良いのかもしれない。今のままでも充分楽しい。これ以上なにを求める。技術の進歩なんて金がかかるだけじゃないのか。それとも経済的になにか素晴らしい影響があるのか?努力があればもっと好景気で過ごしやすくなる気がする。技術の進歩って一体誰が求めてんだ?
5.7 信じたい世界
 やっぱり悩んで悩んで、何回も結論出して、それでも悩んで悩み抜いたやつが幸せになって欲しいだろ。そんな世界であって欲しいだろ。だからこそ、自分はどんな時も後悔しないように一生懸命考えるし、そのために行動してる。
 ただ多くの人は違うらしい。自分が良ければ良い。今が楽しければ良い。そんなんでいいのか?それともおれが間違ってるのか?どこが間違ってるのか言って欲しいわ。他人に論破されたいわ。本気で悩んだやつが幸せになると信じ続けながらも、自分の中でいろんな結論を出していくしかないだろ。そうじゃないとやってらんねーよ。
5.7 嘆き、叫び
 所詮言葉なんて使い捨てで、誰にも留められず誰の記憶にも残らない。人間の記憶はあまりにも曖昧で、どれが真実なのかなんて分からない。適当言ったもん勝ちっていうのはやっぱり正解で、つぶやきなんてどこまでいってもつぶやきに過ぎない。あまりにも陳腐。それに頼っている人間はもっと陳腐な存在。頭が良いってなんなんだろうな。おれの中で単純に記憶力が良い奴が頭良いと思ってるんだが、世の中には自分で考える力があるやつとか生きていく力がある奴のことを頭良いと言ってたりする。そんなん高学歴の人たちへの嫉妬心以外の何者でもないと思うんだがどうなんだろうか。
 酒と煙草と女で最強だろ。それ以上に望むものなんて本当にないかもしれない。
食欲、睡眠欲、性欲。この3つが満たされれば幸せなのか?金さえあればこの3つなんて簡単に実現出来んだろ。思ったより人生簡単に攻略できそうだ。
 人生に正解はない。あほか、だからって全てが正解ってこともねーんだよ。そんなん人それぞれだろ。あほか、だからお前がどう思ってんのか聞いてんだよ。受け売りの言葉に頼って分かった気でいるんじゃねーよ。自分で考えろ。自分の言葉で語れや。考えれば考えただけ前に進むって。
5.11 欲望に素直に、もっと純粋に
 良い世界だ。可愛いものは可愛いし、好きなことしたいと思えば、好きなことできる。美しいと言えるあなたの心が美しい。だからこそそんな風に世界は動いてる。人生は平等じゃないとかそんなレベルの話じゃない。不平等だから良い。不平等だからこそ、それを補うために努力するし人類は進歩していく。やりたいことをやるんじゃなくて、それは必然だったんだ。そう思ったら、なにしても良いじゃんとか思った。
 やっぱりAVの世界は奥が深いな。人間の欲望を如実に表している。こんな何が真実か分からない嘘だらけの世界で、そこだけは絶対的に疑いようのない真理がある。金と欲望が蠢く世界。その中で創られるべくして創られた世界がAVの世界だわ。あやふやなものに騙されんな。素直に前だけ見ればいいんだ。悩んで悩んで苦しんで、それでも悩み続けたやつが、やっぱり最後には幸せになってほしいじゃんか。てかそんな世界であってほしいじゃんか。だからこそ、悩むなら本気で悩め。それが一生懸命生きるってことだろ。
5.11 ツンデレ
 よくできてんなぁツンデレって。男は女の子にツンツンされるともっとその子のことが知りたくなっちゃう→さらにツンツン→男むかつく→女実は好きだったんだ→コロリ。でもその逆はないな。男より女のほうがサバサバしてるから最初の段階でツンツン男は嫌われる。その点やはりツンデレの女は多くの男から声かけられるぶんだけ強い。あーしかもかつ構ってちゃんだと最強じゃんか。ツンデレ×構ってちゃん=最強だわ。なんだこれ、自分で罠仕掛けて仕留めるなんてハンターじゃんか。ハンターハンターじゃんか。ハンター試験のときのヒソカ並みに最強じゃんか。ぱねーこえー。
5.13 思考せよ
 まじで女が言う「うるさい」ほどうるさいもんはない。年上がいう「また君の歳じゃわかんないだろうな」っていうのと同様に、その発言の時点で論点のすり替えが行われている。つまり思考の放棄。これだから女はバカって言われんねん。だから大人は子供に尊敬されないねん。どんなときも思考を続けろ。
5.14 意識高い学生
 インプットなんて誰でもできる。本好きな奴はいくらでもいる。重要なのは自分で咀嚼し、新しいものをクリエイトする力だ。処理すること自体は問題じゃない。考えるっていうのはそーいう事だ。常に生み出すことを意識しろ。古きを温めて新しきを知るとはまさにこのことだ。
5.15 だがそれが良い
 おれ甘いなぁ~絶対女の子に甘い。女はバカだと思っているがゆえにどーしても甘くなってしまっている気がする。そーいう意味で男のほうが対等にいれる気がする。どうしたもんかな。可愛い子には旅をさせろってやつだな。甘やかすのは優しさでも愛情でもなんでもない、怠惰だ。ただじっと見守るのも楽じゃない。
5.18 要は考えるか考えないか
 他人を批判することに対して、何も感じなくなったら終わりだろ。どこまでいっても相手のことを考えられないやつはやっぱり頭悪いと言わざる終えない。っていう批判。本当に自分のことは棚にあげて、話をするやつが多い。おれのことなんかどーでもいいだろ。自分でなんかしろや。つまらん人間ほど人のことをとやかく言う。胸くそ悪い。
5.27 純粋とは
 やはり童貞、処女=純粋っていうのは違う。貞操観念持ってるやつっていうのはもうその時点で偏見を持っている。純粋っていうのは偏見を持っていないまっさらな状態のこと。おれは純粋な気持ちで女の子とエロいことしたい。つまり、よくツイッターで純粋とかいってる奴がいるが、おれが一番純粋だわ。
5.28 OpenCLのジレンマ
 やっぱりOpenCLは要らないのかもしれない。ヘテロジニアスな環境なんて結局資本主義の産物みたいなもので全部政府がやっていれば問題なかった。それをカバーするためにOpenCLって言語があるだけに過ぎないかもしれない。いやでも企業競争があったからこれだけパソコンおよびHPCっていうものが発展してきたのかもしれない。一概にOpenCLはよくないとも言えない。ただ思ったより普及はしていない。やっぱCUDAかCUDA。
5.30 頭の中のメモ
 ネットの溜まり場。かまってちゃん。伴侶。Skype。line。生放送。アルファ。芸能人。JK。出会い厨。進学校。馴れ合い。暇人。廃人。2ちゃんねる。プログラマ。アプリ開発。爆撃。リア充。OpenCL。GPU。ヘトロジニアス。やりたいこと。ニート。院生。社会人。数学者。タイムライン。読書。意識高い。起業。Campus。美大。将来の夢。花屋。パン屋。可愛い。才能。努力。ゴミちゃん。かまわんよ。ビジネス。本当の価値。ポートフォリオ。投信。もの作り。Twitter。SNS。家族。テレビ離れ。日本。金。環境。教育。自己中。人それぞれ。批判。意見文。
6.14 刑事みたいな
 真実だけ追い求めていればきっといつかは、報われる。些細なことでも少しでも自分の想いがあればまた考えて、その答えを貫くことを明日に繋ぎ続けていけばきっと。
6.16 リーガルハイ感想
 今週のリーガルハイの最後の堺雅人の大演説は何回も聞いてもすごい。半端じゃない。説得っていうのは、論理的で見たくないものまで見なければならないゆえに残酷だ。すべてを求めることは幸せとは限らない。ただ誇りと信念を貫らぬき通したいならば、深い傷を負う覚悟で前に進まなければならない。
 だからこそ考え続けなければならない。馴れ合いで納得していてはダメなんだ。意味のわからない言葉に躍らされ分かった気になってはいけない。答えがないとわかっていても、真実を探し続けなければならない。それが戦うことであり、生きるってことだ。生半可な覚悟じゃたえられんよ。逃げだすな。
6.11 選択の連続、麻雀みたい
 幸せの先にあるのは、死のみ。嫉妬なんて自己中以外の何物でもない。自分以外の存在を支配することなんてできないし、するべきでもない。それは自己破壊だ。自分の幸せは自分しか決められないという当たり前のこと。多くはそれに気付いていない。現実を見ようとしない。決断は自分しかできないんだよ。
6.17 世の中は金が全てだ
 『世の中は金が全てだ』という言葉は「金が全てというのは、金で幸せを買える」って意味ではない。金っていうのは唯一無二の客観的指標。頑張った自分を称えてくれるのが、他人から称賛の証としての『お金』だ。そしてやっと自己満足でなくなる。『世の中(社会)は金が全て(結果)』なんだ。
6.19 金と愛
 金を積めばで慰めはいくらでも買える。ただそれで心が満たされることはない。そして、それが分かっていても人は安物のプレゼントに心動かされる。モノは金ではなく、心がこもったものだと思い込むことが容易いからだ。やはり無償の愛こそ必要なのではないか。本当の愛は金では買えぬ。
 相手の言うことを繰り返すだけで、安心信頼が勝ち取れるなら、そんなんロボットでもさせとけばいいわ。
6.20 人間=関数
 つまるところ人も関数みたいなものだ。人生様々な困難にぶち当たる。その問題に対してなんかしらの回答をだし続ける。正解も解答もない。ただひたすら人生の回答をだし続ける。それ以上でもそれ以下でもない。自分の答えを出せないのなら、楽しくないだろ。自分にとって最高の答えをだし続けるのみだ。そして、その答えあわせをしてくれるのが金だ。
6.20 とっくに絶望してるよ
 考えるのは確かにしんどいよ。辛いし苦しい。絶望的な悲しみが込み上げる。それでも分からんことがあったら悩み続ける。こわいじゃん。疑問を持ちつづけないとアイデンティティが崩壊しそうになるんだよ。自分の意見を持つっていうのはそういうことじゃないか。疑問に対するアンサーの積み重ねが、オリジナルを創る。オリジナルでいたいじゃない。

OpenCLの簡単なプログラム

このコードはOpenCL入門―GPU&マルチコアCPU並列プログラミング for MacOS Windows LinuxのChapter 3を参考に、作成した.

[cpp]
{

#include <stdio.h>
#include <time.h>
#include <CL/cl.h>

static void printPlatformInfo(const cl_platform_id platform_id);

/*—————————————————————————
*
*/
int main(int argc, char * const argv[])
{
  //時間計測
  clock_t t1, t2;

  t1= clock();

// プラットフォームIDを取得する
cl_platform_id platforms[10];
cl_uint num_platforms;
cl_int status;

status = clGetPlatformIDs(sizeof(platforms) / sizeof(*platforms),
platforms,
&num_platforms);
if (status != CL_SUCCESS) {
fprintf(stderr, "clGetPlatformIds failed with status %dn", status);
return 1;
}

printf("Number of platform(s) : %dn", num_platforms);
for (int i = 0; i < (int)num_platforms; i++) {
// プラットフォームIDについての情報を表示する
printPlatformInfo(platforms[i]);
}

t2 = clock();
printf("time = %fn", (double)(t2 – t1) / CLOCKS_PER_SEC);

return 0;
}

/*—————————————————————————
* 引数で与えられたプラットフォームの情報を表示する
* platfomrm_id: 情報を表示するプラットフォームのID
*/
static void
printPlatformInfo(const cl_platform_id platform_id)
{
char buffer[1024];
size_t actual_size;
cl_int status;

// プロファイル
status = clGetPlatformInfo(platform_id, CL_PLATFORM_PROFILE,
sizeof(buffer) – 1, buffer, &actual_size);
printf("Platform profile : ");
if (status == CL_SUCCESS) {
buffer[actual_size] = ‘\0’;
printf("%sn", buffer);
} else {
printf("Error: clGetPlatformInfo failed with status %dn", status);
}

// バージョン
status = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION,
sizeof(buffer) – 1, buffer, &actual_size);

printf("Platform version : ");

if (status == CL_SUCCESS) {
buffer[actual_size] = ‘\0’;
printf("%sn", buffer);
} else {
printf("Error: clGetPlatformInfo failed with status %dn", status);
}

// 名前
status = clGetPlatformInfo(platform_id, CL_PLATFORM_NAME,
sizeof(buffer) – 1, buffer, &actual_size);

printf("Platform name : ");

if (status == CL_SUCCESS) {
buffer[actual_size] = ‘\0’;
printf("%sn", buffer);
} else {
printf("Error: clGetPlatformInfo failed with status %dn", status);
}

// ベンダー
status = clGetPlatformInfo(platform_id, CL_PLATFORM_VENDOR,
sizeof(buffer) – 1, buffer, &actual_size);

printf("Platform vendor : ");

if (status == CL_SUCCESS) {
buffer[actual_size] = ‘\0’;
printf("%sn", buffer);
} else {
printf("Error: clGetPlatformInfo failed with status %dn", status);
}

// 機能拡張
status = clGetPlatformInfo(platform_id, CL_PLATFORM_EXTENSIONS,
sizeof(buffer) – 1, buffer, &actual_size);

printf("Platform extensions: ");

if (status == CL_SUCCESS) {
buffer[actual_size] = ‘\0’;
printf("%sn", buffer);
} else {
printf("Error: clGetPlatformInfo failed with status %dn", status);
}
}
[/cpp]

このプログラム自体はOpenCLデバイスで計算はしていない。OpenCL APIをつかった単なるC++のプログラム。OpenCLデバイスで計算させるためには、OpenCLにデータを飛ばさなければならないため一気に記述する量が多くになる。
それが以下のような一般的なOpenCLプログラムの流れである。
1.コンテキストの作成(clCreateContext)
2.コンテキストに含まれるデバイス取得(clGetContextInfo)
3.コマンドキューの作成(clCreateCommandQueue)
4.プログラムオブジェクトの作成(clCreateProgramWithSource)
5.カーネルプログラムのビルド(clBuildProgram)
6.カーネルオブジェクトの作成(clCreateKernel)
7.メモリオブジェクトの作成(clCreateBuffer)
8.カーネル引数の設定(clSetKernelArg)、実行(clEnqueueTask)
9.メモリバッファから結果取得(clEnqueueReadBuffer)、表示
後ろに括弧で書いておるのがAPIである。このような様々なAPIを利用し、OpenCLデバイスデータを飛ばし計算させデータを取ってくる。僕自身のイメージとして基本的にOpenCLデバイスは本当に計算しかできない。だから、手取り足取りメモリを確保することからカーネルオブジェクトの作成、計算の結果の取得まですべてホストプログラム(CPU)がやれなければならない。
また、OpenCL独特のオンラインコンパイルについて記述する。その前にオフラインコンパイラについての説明から。
オフラインコンパイル方式では,カーネルプログラムをOpenCLコンパイラによって予めコンパイルしておき,ホストプログラム中でOpenCL APIを用いて読み込む方式である.プログラム中でコンパイルを行う必要がなく,カーネルプログラムの起動で生じるラグが少ないことが利点である.しかし,移植性を高めたい場合には,様々なアーキテクチャに対応させたカーネルプログラムにしなければならないため,必然的にプログラムサイズが大きくなる.多くのデバイスのメモリ容量は少ないことが多いので,この点でオフライン方式は不利となる.また,現状ではオンラインコンパイルのみをサポートし,オフラインコンパイルをサポートしていない実装がいくつかある.(http://www.is.doshisha.ac.jp/report/2010/9/17/2010030001/index.htmlより引用)
つまり、これが普通のコンパイル。ホストプログラムもカーネルプログラムも全部コンパイルして実行ファイルを作ってしまう。そしたら楽なんだけど、移植性は低くなっちゃうよねって話。
それとは反対のオンラインコンパイル
オフラインコンパイル方式とは反対に,プログラム実行時にカーネルプログラムをコンパイルする方式がオンラインコンパイル方式である.デバイスのアーキテクチャに依存することなく,環境に応じて適応的にコンパイルできる点がオンライン方式の利点である.しかし,リアルタイム性が要求される組み込み用途,ソースコードを非公開にしたい場合などにはコンパイル分のオーバーヘッドが付くのでこの方式は適していない.現存のすべての実装で,この方式をサポートしている.(http://www.is.doshisha.ac.jp/report/2010/9/17/2010030001/index.htmlより引用)
つまり、これがOpenCL独特のコンパイル方式。予めコンパイルしておくのはホストプログラムだけ。ホストプログラムだけから作った実行ファイルを実行時に、その実行環境にあった並列処理(?)でカーネルプログラムを処理してくれるというもの。計算量が莫大になればなるほどおそらく逐次より早く動くものと思われる。

OpenCLインストール

さてさて前回の更新から1ヶ月近くたってしまったんですが、いろいろ忙しかったんす。申し訳。
引き続きOpenCL勉強しています。自分のためにも、ここに記録します。
OpenCLインストール方法ってか使うまで準備
実行環境
Intel Core i7 CPU 920 @2.67GHz 2.66GHz
GeForce 9800 GT
実装メモリ(RAM) 6.00GB
Windows 7 Professional 64bit
Microsoft Visual Studio 2010 Professional
OpenCLはMacは最初からサポートされているらしい
ぼくはWindowsなのでいろいろインストールしなければならないらしい
①OpenCL SDKを入れる(Windowsの場合)
http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/ に行って右上の青いところからダウンロード(別に登録しなくてもいける)
そんでインストール
②NVIDIAのOpenCLドライバを入れる(NVIDIAの場合)
http://developer.nvidia.com/cuda-downloads に行って自分の環境にあったものをNVIDIAドライバ、CUDA Toolkit、GPU Computing SDKの順にダウンロードし、インストール
基本的にインストールは次へ連打でおk。でもGPU Computing SDKの保存場所は覚えておくように。のちのち使う。
③Visual Studioへの環境設定
 ぼくは学校でもらえるMicrosoft Visual Studio 2010 Professionalを使ったが、無料で入手できるVisual C++ 2010 Expressでも出来るらしい
 ここからが少しややこしいんだけど、、、
これはプロジェクトを作るたびに毎回設定しなければならない。まずVisual Studio起動して、「ファイル」→「新規作成」→「プロジェクト」で新しいプロジェクトを作る。このときにインストールされたテンプレートでVirtual C++の中でOpenCLではなく普通のWin32コンソールアプリケーションを選ぶ。名前は何でもいい。次へを押し、アプリケーションの設定で追加のオプションのカラのプロジェクトにチェック。完了。
 次にソリューションエクスプローラのソースファイルのフォルダを右クリックし、「追加」→「新しい項目」を開く。そしてC++ファイルを追加する。
ここから具体的な設定に入る
1.次にソリューションエクスプローラにあるプロジェクト名を右クリックし「プロパティ」へ。
まずしなければならないのは、構成を「アクティブ(Debug)」から「すべての構成」
に変更する。そして「構成プロパティ」→「C/C++」→「全般」を開き、「追加のインクルードディレクトリ」に次のパスを登録する。
Intelの場合
“C:Program Files (x86)IntelOpenCL SDK2.0include”
また、環境変数の相対パスを使ってもできる。その場合は、
$(INTELOCLSDKROOT)include
と指定。
NVIDIAの場合
“C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.2OpenCLcommoninc”的なパスを指定。エクスプローラで確認してみると良い。
また、環境変数の相対パスを使ってもできる。その場合は、
$(CUDA_INC_PATH)
と指定。
IntelとNVIDIAの両方を設定したい場合は「;」で区切ってください。
2.プロパティを開いたそのまま、「構成プロパティ」→「リンカー」→「全般」を開き、「追加のライブラリディレクトリ」に次のパスを登録する。
Intelの場合
“C:Program Files (x86)IntelOpenCL SDK2.0libx86”
環境変数の相対パスだと
$(INTELOCLSDKROOT)libx86
NVIDIAの場合
“C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.2OpenCLcommonlibWin32”
環境変数の相対パスだと
$(CUDA_INC_PATH)libWin32
ここでは32bit版か64bit版かでパスが変わってきます。エクスプローラで確認してみると良い。
3.プロパティを開いたそのまま、「構成プロパティ」→「リンカー」→「入力」を開き、「追加の依存ファイル」に次のライブラリ名を登録する。
IntelもNVIDIAも共通で
「OpenCL.lib」
大文字小文字を間違えないように。また、すでにライブラリが登録されている場合は、「;」をつけてから書き加える。
以上でOpenCLの設定は終わりです。
基本的にコンパイルはVSで行うことになると思うが、コマンドプロンプトでやる場合には
g++ main.cpp -lOpenCLl
でコンパイルすることができる。

今日からOpenCL本格的に勉強すっから

まぁ簡単な話、卒論っすよ。 
OpenCLとはなにか?
●CPU, GPU, DSP等が混在するプラットホームで並列処理プログラムを書くためのフレームワーク
●ヘテロジニアス(異種混交)な並列計算機環境に適した並列プログラミングのためのフレームワーク
高クロック化からマルチコア化という背景があって提唱されはじめた。
まぁ簡単に言うと、OpenCLを利用する事により、様々な計算資源に共通のインターフェースでアクセス・制御が可能となる。
もっとわかりやすく言うと、CPUとかGPUっていうコンピュータの頭脳があるんだけど、その頭脳によっても得手不得手があるから、計算が得意なGPUには計算だけさせて、タスク処理(?)が得意なCPUにはタスク処理だけさせようって話。GPU使わなくてもCPUだけの並列化もできるんだけど。
これはGPGPUのCUDAに非常に近い考え方なんだけど、それをNVIDIA以外のやつにも対応させようって話。
主にこれが概要。
メリット
エンドユーザー側
●単純にパソコンが高速になる
●演算デバイスの違いを気にすることなく利用できる
●プロセッサーを自由に選択できる
エンジニア側
●言語がCをベースにしており習得が容易な点(ソフトウェア)
●ソフトウェアレイヤーにおける互換性を意識せずにすむ(ハードウェア)
こんな感じ。意外とメリットが高速化以外に見つからない。
論文の内容についてはまだ模索中。

世界

悩んで悩んで苦しんで、それでも悩み続けたやつが、やっぱり最後には幸せになってほしいじゃんか。てかそんな世界であってほしいじゃんか。だからこそ、悩むなら本気で悩め。それが一生懸命生きるってことだろ。

男の愛し方とは如何に

 男の愛し方とは如何に。男らしい愛し方とは。なぜこんなにも恋愛とは上手くいかないのか。恋愛だって根本的には人間関係なわけで、男同士ならここまでこじれることもない。もうひとつの疑問としてなぜ将来の伴侶は異性でなければならないのか。確かにTwitter上でよく見るホモでも良いと思う。なぜ結婚は異性でなければならないのか。別に男だって良い。男同士の恋愛ならこんなに恋愛は難しくないんじゃないかと思う。一夫一妻制の存在意義なんて日本国というコミュニティを存続させるということしかないんじゃないか?これまた自殺が良くないという理由と一緒。結局は自分のためだ。自己中心的な考えなんて世の中に蔓延している。それをそれとも知らずにみんなその規律を守っているんだ。クソ食らえ。話がそれた。
 今日のテーマは男らしい愛し方とは如何にだ。女はいつだって愛すよりも愛されたいという。ただ言ってしまえば人間だれだってそうだ。男だって愛すよりも愛されたい。なぜ人は愛すよりも愛されたいと思うのか。それは簡単だ。単純にそっちのほうが楽だからだ。だって不安がないもの。人間誰しも誰かに嫌われているんじゃないかとビクビクしている。それなのに、自分を犠牲にして全身全霊で愛すなんてリスキーなことしたくないに決まっている。誰だって愛されてたい。しかしながら、男がそんな愛すよりも愛されたいと言っていると女々しいと言われるだろう。確かに男らしくないと思う。
 男らしいとは何ぞ。グーグルで調べてみると、スポーツマンの筋肉バカみたいなやつが男らしいらしい。まぁわからんでもない。頭が良いというよりムッキムキのほうが男らしい気がする。男らしい愛し方とは如何に。ムッキムキで礼儀があって気が使えれば男らしい愛し方でモッテモテになれるのか?結局そーいうことか。おれの持論として女はバカというものがあるが、ここでもまた妙に納得してしまった。てかそんな愛し方が男らしい愛し方なのかよ。ある意味1つの答えかもしれないが、それじゃただバカな女の願望が男らしいになっているだけだ。
 本当の意味で恋愛においての男の愛し方とは何ぞ。ここで男同士の付き合い方について考えてみる。男同士はあまり気を使わないっていう一般論があるがまさにそのとおりだと思う。言わずもがな、ただこれを女の子にしてしまう奴はモテない。この男同士の付き合い方はある意味賢い、というか理想の付き合い方だと思う。お互い気を使っていないにも関わらず一緒にいて面白い楽しい心地良い。これが彼女なら最高と自分は思うわけだが、なぜ女には気を使わなければならないのか。まぁ女がそれを求めてるからっていう答え。つまり女のご機嫌取りしてるやつがモテるんだ。そのご機嫌取りが前述した筋肉バカっていう男らしいとかにつながるんだろうけど、それではいけない。もちろんそんな関係長く続かないわな。やはり如何に男同士の付き合い方に近づけるかなんじゃないかと。うまく言葉にできないが。それを意識しつつも女の機嫌をとるやつが一番幸せな恋愛ができるんじゃないかと。
 じゃあそれはなんだ?どうすればいいんだ?うーんもっと素敵な答えが出ると思ったけど、『自分の思ったことは素直に主張する』ってところに尽きる気がする。それが良い。女の子が可愛いと思えば可愛いって言い、意味わからんなと思ったら馬鹿じゃねーのって言う。レディファーストとか女の子のために~してあげるっていうのは個人的にはあまり頂けない。当たり前かもしれないが、そーいう関係が意外と見えているようで見えていなかった気がする。ただクソ気に食わんのは、女はバカが故に男に騙される。「レディファーストなんて当たり前じゃん」とかいうバカ男のほうに行く。こちとらそんなクソバカ女なんて願い下げだ!と思うわけだが果たしてそんな考えは通用するのか?男の恋愛とか語っているがそんな考えでそもそも女の子に相手にされるのか?
 一つの答えとして、付き合って結婚するまではレディファーストとか言って女の機嫌とって可愛い子を探す。で結婚してからは気なんて使わないで楽しくないかもしれないが一番楽な付き合い方する。そんで別れたら次の子を探す。いやでも離婚はリスクが高すぎるからこの答えは却下。独身で出会い厨して生きるのが一番楽しい人生の気がしてきた。結婚なんてするもんじゃねーだろ。本気で男より女といたほうが面白いって思っている男はいるのか?それただセックスできるからじゃないんかいと本気で思うんだがおれが頭おかしいからか。確かに女でもネタに生きるとか言って面白い奴もいる。女の芸人だっているし。可愛い女の子ほど高飛車でおもんないっていうのは偏見か。うーん、前に考えたことがあるのは、男とは違う楽しさが女にはあるってやつ。女と喋ってて楽しいっていうのは、面白さじゃない。単純に声が可愛いとか顔が可愛いっていう動物に対する想いに近い感情で、話の内容はやはり面白くないんじゃね?っていう結論に達した。
 まとめ、結婚はやっぱり前述したように幸せにはなれない。それは結局女がくそ男に騙されるバカだから。ただ女と話すのは楽しい。その面白さじゃない楽しさを感じるために女の子とお話ししたい→風俗または出会い厨が一番楽しいって言う結論で今日は終わり。

Twitter廃人

まじでなんなんだこのツイッターの利用方法は?自分に対する反応が欲しいのか?ただのかまってちゃんなのか?ただ人より自己顕示欲が強いだけなのか?寂しさを紛らわすためにツイッターを利用して誰かにかまってもらう。そんな文化はやっぱり人間をダメにしてしまう気がしてならない。人とコミュニーケーションをとるのは良い事だと思う。それは間違いないと思うが、やはり本来のあるべきコミュニケーションの形は面と向かって話すことじゃないのか?それともこれは、昔携帯電話が古い世代に受け入れられづらかったのと同様に、10年後は当たり前になっているんだろうか。そう考えると自分が思っているような根暗で家に帰ってすぐにパソコン開いてニヤニヤしてるっていう人間像ではないのかもしれない。確かにそれは極端だが、もっとナチュラルにリビングでメールしてる風にただツイッターをしているというだけなのか。それが楽しい。メールとツイッターの違いとは。ただ世の中の人に広く自分のつぶやきが見られる、またフォロワーというある意味不特定多数人間とリプライを飛ばし会えるという違いでしかないと思う。これはブログという媒体が流行りだした時に似ている。なぜ日記を世間に公開しなければならないのか?今までは日記なんて人に見せるようなもんではなくむしろ自分だけが見るプライベートなものであったはず。しかしながら人間は交換日記という文化もあるように、日記また文章というある種の自己の創造物は他人と共有することに価値を見出してきた。その踏み台があったからかわからないが、比較的簡単に日記というものを不特定多数の人に見られることを許容してしまう人が多いのかもしれない。ただこれもブログという文化は日本だけでしかブームになっていないという意見もある。海外では日記というよりむしろ備忘録的な用途で使われており、日々の出来事なんて記録しない。公開していない。ツイッターも然り。日本人が一番多く利用している。なぜか。多くは国民性という一言で片付けられてしまう。話を最初に戻すとツイッターは人間をダメにしないか?という疑問。ブログなどをOKだからといってツイッタはOKにはならない。余りに用途が違うからだ。ツイッターはまさに呟き。日記のように日々の出来事を記録するものとは一線を画している。こんな文章はツイッターだとくそめんどい。何回も分けなくちゃいけない。あくまでも呟き。やはりツイッターは寂しさを紛らわすツールでしかない。つぶやくことによって誰かに気にかけてほしいという思いがあるのだ。それを文明の発展として良く取るか、人間が弱みにつけこんだサービスと取るか。結論として、やはり依存してしまうのは良くない。それに尽きる。一昔前に携帯依存症やメール依存症という言葉があるように現在ではツイッター依存症という言葉がある。依存してしまうと人は弱くなる。なんでもそうだが、特にツイッターの場合はその効果が大きい。闇雲に呟くのはあまり宜しくないかと。
Twitterより引用

自分がパソコンを好きな理由

 パソコンは面白い。最近では多くの人が共感すると思うが、これがどーいうことかについて深く考えたことがなかった。そりゃゲームもできるし、動画だって見れるし、音楽だって聞ける、なんでもできるから面白いんじゃんくらいにしか思ってなかった。就活のときも結構そんなん分かるだろって感じで適当にパソコンはなんでもできて便利でその技術にすごく興味を持ちました的なことを言ってた気がする。もちろんそれも間違いではないと思う。けどなんか違う。今日はパソコンの面白さについて考えたいと思う。
 ぼくは始めてパソコンに触ったのは、中学1年生の頃だったと思う。今ではクソと呼ばれるWindows MEだ。当時はそんなの知らないし、関係無いとか思ってたし、とにかくパソコンがきたことにすごくワクワクしてた記憶がある(全然MEも好きだ)。まだ周りの家も持ってる人が少なく、いま思えばなんで親がパソコンなんて買ったのか不思議だ。まぁまだインターネットのダイヤルアップで「ピーコージジジジー」っていってめっちゃ時間が掛かる時代に、自分は何をしてたかっていうとひたすらソフトウェアをインストールしては消してを繰り返していた気がする。なんのソフトかあんまり覚えてないけどふりーむとか言うところからゲームをインストールして遊んだりしたり、メッセンジャーとかをやってた記憶がある。ちょっとして音楽CDとか作ったりしてた気がする。あまりにパソコンが重くなって、一回間違ってオフィスとか全部消しちゃってOSを再インストールしてめっちゃ時間がかかったこともあったな。あんときのOSインストールはCDじゃなくてフロッピーディスクが5枚くらいあって、ちょー時間かかるの。パンパじゃない普通に半日かかった。
 あとやっぱりパソコンと切っても切り離せないのはエロ。夜中に親の目を盗んでエロサイトを見てたりもした。一回なんかウィルスかかってわけわかんないことになってたこともあった気がする。そんときに父親がプロバイダに電話して、「画面にポルノ画像が表示されてしまいまして、、、」って言ってたのを今でも覚えてる(笑)そんなこともありつつ、中学2年生の2月くらいにぼくは携帯電話を買ってもらったんだけど、今は当たり前になっているパケホーダイってやつが当時はなくて、親にパケ代がかかってるとめっちゃ怒られるんすよ。でも着メロだってたくさん取りたいし(まだ着うたはない時代)、画像だってたくさん欲しい。でもパケ代かかっちゃうし、どうしようみたいな。そんでぼくは当時パソコン博士と呼ばれていたT君にいろいろ聞いて、SDカード経由でパソコンから通信料がかからず画像を携帯にいれる方法を教えてもらった(パソコンの通信料は定額)。そんでパソコンで画像を探しては携帯にアイドル画像入れまくってたんだけど、これも今はSDに普通に入れても携帯で画像見ることができるけど、当時はリサイズしたりとかリネームっていう作業をしないと携帯で見れなかったんですよ。そのために、いろいろ調べて、リサイズするソフトとかリネームするソフトとか調べて試行錯誤しながら携帯に画像入れまくったりしてた。そんでだんだんパソコンでできることが増えていって、着メロとかもMIDIファイルいじったりしてた。すると着うたっていうものが出てきて、今ではもう使っている人少ないかもしれないけど携帯動画変換君ってやつがあって着うたもmp3とか加工して着うたにできたんですよ。それで友達に~って曲の~のサビの着うた作ってよって言われて作ったりしてた。そのあたりから周りの友達にもあいつはパソコン詳しいぞとか言われていろいろ教えてあげたりして、自分がなんか人に喜んでもらえるのが嬉しいとか感じてたんだと思う。MDとかも流行っててCDコピーとかもしてあげてた気がする。あとサイトとかも作ってた。ちょうどそのころぐらいから多分大学でなんかパソコン学びたいなぁとか思ってたんだと思う。そんで大学受験失敗して、浪人して大学入って論理回路とかわけわかんないことやりつつもプログラミングとかなんとなくできるようになって、いまに至るって感じ。途中ITで起業したいとか漠然と思ったりして、ビジネスに興味を持ってビジネス本とか読みあさってたりした時期もあった。まぁ長くなったけど、そんなこんなでいまに至り、結局なんで自分はパソコンをオモシロイと思ったのかっていう話。
 なんでだろうか。自分はなんか知らないけどいつの間にかパソコンに興味持ってて人に喜んでもらったっていうのが大きいのかもしれない。でも、なんでパソコンに興味持ってたんだろうか。中学の時は、ずっと部活やってて忙しかった。でも家ではいつもパソコンしてた気がする。テレビも好きだったからドラマとかもよく見てた。それ以外にあんまり何かにハマった記憶が無い。ミニ四駆とかビーダマンとかヨーヨーもそれなりにやってたベイブレードとか。でもイマイチゲームっていうものにそこまで熱中した記憶が無い。ダビスタとポケモンくらいか。PS2も持ってなかったし、ゲームは友達んちでやるって感じだった。なぜパソコン。人が知らないことを知ることが面白かったのかね。最先端行ってる感じが面白かったのか。
 最初に話は戻るが、今パソコンが面白いっていうのは主にコンテンツの面白さのことを言うんだと思う。ネトゲを始め、動画サイト、ユーストやニコ生等のストリーミングサイト、TwitterやSNS。単純にゲームの面白さ、動画サイトは制作物の面白さ、ストリーミングは放送を通じて知らない人と話ができる面白さ、SNSは友達もしくは知らない人といつでもコミュニケーションがとれる面白さ。多分ぼくはパソコンを好きな理由はそうではない。もっとなんつーかパソコンの可能性というかなんでも出来るその汎用性?技術?
 もっと抽象的概念的にいうと、自分の思ったことをいろんな方法で表現できることだと思う。自分を表現できるその選択肢がパソコンには多い。こうやってブログも書けるし、SNSで自分の思ったことをつぶやけることもできるし、絵だって描ける(描いたことないけど)、そして実際に自分でプログラミングすればシステムとして自分の思ったことを実現できる。絵だってだから面白い。なんつーかとりあえずパソコン開いていれば、面白そうなことがある気がする。そう思わせるのも、自身の知的欲求を満たしてくれるっていうのもある。
まとめると、
●自分の思ったことを表現できる
●知的欲求を満たしてくれる
っていうのが今のところ思うもの。うーんなんかイマイチしっくりきてない気もする。「とりあえずパソコンを開いていれば面白そうなことがある気がするから」っていう理由が一番しっくりくる。なぜそう思うのか?自分の思ったことを表現できるから?知的欲求を満たしてくれるから?
まぁ単純にディスプレイにこうやって文章書いてブログとしてまとまって表示されているのを見るだけでも面白い。紙に書いている日記よりもスマートに感じる。あのテレビを見て「えっこの箱のなかに人が入ってるの!?」っていう驚きに近いなにかがある気がする。パソコンの場合には常にそれがある。驚きが常にある。Twitterだって最初みたとき「えっなにこれタイムラインってなに?フォローとかいうのしたらリアルタイムでその人が呟いたのが見れるの!?」みたいな。その驚きが欲しいからパソコンが好きなのかもしれない。ソフトウェアによって常にそんな驚きを創ることができるゆえに、その驚きのためにこうやってパソコンを起動させるのかもしれない。
なんかいろいろ昔話だの長いこと書いたけど、
今のところの結論
『パソコンは驚きの連続があるから好き』

就活やめて院進します(´・ω・`)

 自分なりに就活頑張ってやっていたんですが、辞めて院進することにしました。結局内定は出ていないので参考にならないと思いますが、自分なりに気づいたことがあったので2年後の自分のためにもここに記録したいと思います。
 やめて院進しようと思った理由はいろいろあるんですが、一番は「技術者の端くれとしても自分には語れるだけの経験がなかった」ということです。私は、皆さんも分かるように僕自身知識はなく、研究室でも人に聞いてばっかりです。でも自分なりに就活はいけるような気がしてました。それはきっと自分自身が自信家で、自身のトーク力でなんとか他を圧倒できると思っていたからだと思います。
 でもやっぱりというか現実はそんなに甘くはなく、上を見ればすごい人なんてたくさんいた。当たり前といえば当たり前かもしれないんですが、自分のとってはかなりの衝撃で、やるせなくてとても悔しい思いをしていました。まぁそれでも自分なりに一生懸命自己分析とか志望動機とか考えてES出して良い所では最終までいった企業もありました。ただ前述したい通り落ちてしまいました。もうこれはもう本当に辛い。最終面接まで行ってでこっちはその企業に入る気満々だったのに、落とされて絶望しかなかったです。とくかく辛かった。
 とは言ってもそんなことは言ってられず、どんどんと他の企業での面接で予定が埋まっていきます。そんな気持ちで面接なんて受けても、、、と言う気持ちで某K社の面接に言ったんですが、そこで自分と他のすごいやつとの決定的な違いに気づきました。それは「夢の具体性」です。僕自身一番の自己分析とは夢を描くことだと思っています。それは将来自分がどうなりたいか、どんなことがしたいか、ひいてはどんな人生を生きたいかです。私の夢というか企業の面接でよく言ってたことは「将来私は今まで誰も作ったことがない未知のサービスを創りたいと考えています!」ということです。全く具体性がない。でも周りもそんなもんだろうって思って自信満々にどこの企業でも言ってました。でもK社を受けていた人は全く違った。「自分のこれまでの成果経験から自分は東京を始めとする都市部でゲームのような情報網をはりつけてもっとユビキタスな社会にしたいんです!」みたいなことを言ってた(あんまり覚えてなくて多分もっとすごいこと言ってた)。なんつーかこう比較すれば当たり前なんだが、圧倒的に自分は劣っていると感じた。ダメだなって感じた。自分の自己PRは「私は好奇心旺盛で高校時代では陸上で関東大会も出ましたし、今までにこんないろんなバイトをしてきましたし、証券研究会というサークルに所属し、自ら株式投資やFX投資もしました!御社では自身の好奇心旺盛っぷりを発揮して未知のサービスを創りたいと考えています!」。まじくそ。だめ。ぼつ。全く意味がわからん。お前の好奇心旺盛さは情報分野以外で発揮してろ、一生いろんなバイト経験してろって感じ。ここが自分と他のすごいやつとの決定的な差。これを感じた瞬間もっと情報系の人間としていろいろ経験しなければと感じた。そうでなければ全く戦えないし、何も語れることができない。
 でもここまで言っといてなんですが、もう少し続けていればどっかしらの企業には引っかかったと思うところもあるんです。ただ、それじゃ自分は夢も持たないまま社会に出て、周りの人間に流されて、会社帰りの居酒屋で上司の愚痴をこぼして、次の朝早くからまた出社。これが40年も続くんかぁとか馬鹿みたいなこと、自分勝手な自己中みたいなこと自分は強く感じてしまった。この就活を通じて一番自分がダメだなと思ったことがあるんですがそれは「自分は社会に合わせようともしない、かといって自分のはとくにやりたいこともなかった」ということです。これは、就活するにあたって絶対夢とかやりたいことを持たないといけないってことを言いたいんじゃなくて、どっちかになれってこと。見てる人はわけわからんかもしれないですが、ここは本当に人の考え方によって変わる。よく言う「趣味を仕事にするか否か」っていう話。それが自分はただ趣味を仕事にしたかったっていうだけ。仕事は仕事、趣味は趣味で楽しむっていう人生も良いと思う。そのどっちかは人それぞれだと思う。ただ自分は趣味を仕事にしたいと決めたからには院進したら本当に一生涯続けられることを見つけなければならない。そしてそのためにできることをやり、2年後の就活までには語れるようにならなければと感じている。それがこれからの自分の課題。
 就活うまくいってない自分は言うのも良くないが、もし聞いてくれるなら、これから就活する人へ自分が伝えたいこととしては、まず夢を探してみようということ。見つかったらその夢に向かって突き進めば良い。志望動機だって企業によって変えなくてもいい。自分のやりたいことを素直に語ればきっと自分にあった企業に入れると思う。もし夢が一生懸命探して探しに探して見つからなかったとしてもそれはそれで良い。夢なんてないやつがいくら探してもないもんはない。むしろ無理やりひねり出した夢が想像妊娠みたいに膨らんで思い込んでしまう方が恐い。それなら幅広くいろんな業種の企業を見て、少しでも興味持った企業を受けるのが良いと思う。企業分析は念入りにやって、その企業でやりたいことを見つけてそれについて語れればきっとどっかの企業が受け入れてくれると思う。
 終始偉そうにこんなところで語ってしまい、申し訳ないがこれが自分が就活やった感想です。ESの書き方やテストの仕方とか面接対策等のテクニックについては直接聞いてもらえたら私の知っていることは教えます!
 最後に、まだ就職活動してる研究室の皆さん本当に皆さんにあった企業で内定が出ることを祈っています!頑張ってくださいm(_ _)m
<研究室でのブログの転写>