原点に返る - OpenCL -

私とPCとの関わりに付いて考える上で欠かせないのが、以前、記事で書いた初PC体験の頃からの想いです。

当時は3D立体視やレイトレーシングの分野などでは僭越ながら未だ私のイメージにPC側が追い付いておらず実現は困難だった訳ですが、あれからちょうど四半世紀が過ぎた今では、それを実現するにPCの処理能力が十分なレベルに到達しました(とはいえ立体視デバイスが未だ追い付いていないけれども・・・)。

あの当時、日曜日の昼にテレビ放映されていた超時空要塞マクロスでのマックスとミリアがゲームセンターで見せた最終レベルでの立体視戦闘シーンを見て、まさにコレだよって感じで今でも強烈に記憶に残っています。

同じ頃、つくば万博や大学の研究室などで見掛けたホログラム映像にも興味が有り、このホログラムとPCの融合を夢見ていて、いまでも、その気持ちに変わりは有りません。

最近ではマイノリティ・リポートに登場した架空のコンピュータが私のイメージに近いというか、マイノリティ・リポートで登場するUIそのものが私が当時から思い描いていたコンピュータと人との関わり方と言えるかもしれません。

さて、前置きが長くなってしまいましたが、コンピュータで3D描画を実現する際に欠かせないのが高速な行列などの超並列演算です。

単に立体風に見える2Dとは異なり、3Dの立体視では同時に異なる視点で物体と視野世界を正確に計算描画しなければならないので、超並列演算は必須とさえ言えます。コレが無いと平べったい紙に書いた絵や写真が空間を移動しているような違和感のある立体映像になってしまいます。

そして、その超並列演算を素人の私にも手軽にPCで実現出来そうなのがCUDAやATIStreamなどのGPGPUや、もう少し汎用的なOpenCLです。

但し移植性が低いCUDAやATIStreamはとりあえず置いといて、私は汎用性・移植性の高いOpenCLを選択しました。

えっ?そんなのDirect3DやOpenGLで・・・と言ってしまえばそこで終了なわけですが、Direct3DやOpenGLの様なポリゴンベースの絵書きと私の目指す物は似て非なるもので、私のイメージにピッタリくるのはやはりOpenCLです。

OpenCLに対応したGPGPUですと、GeForce8xxx以上/RadeonHD4xxx以上となり、私の所有するPCはほぼ対応しているので、製作したOpenCLソフトを各種世代のCPU/GPUで試してみるという楽しみが増える側面も有ります。

更に、私が魁??漢塾シリーズで奮闘中wのATX586で最近のグラボが動作しない事へ対応する大きな動機付けにもなりモチベーションの相乗効果が期待できそうな事もOpenCLを試そうと思っている動機の一つでもあります。
余談ですが、この件への対応は、現在アセンブラの選定とBIOS関連のシステムコール(BIOSやDOSはソフトウエア割込みを使ってシステムコール相当の機能を実現している)の勉強(20年前の復習ともw)中です。

既にOpenCL関連のライブラリや対応ドライバは収集済みで、ドキュメントを読みながら暇を見つけて勉強しています。

C/C++言語をネイティブに話す私(若干・・・というか、かなり忘れ気味では有りますがw)にはC言語ベースのOpenCLは非常に判り易いという面もあります。
どのくらいネイティブかと言いますと、
 while(*a++ = *b++);
こんな感じですw
もちろん、可読性の点から普段はこんな書き方はしませんが、この一行が瞬時に理解できる人ならC言語ネイティブスピーカーと言えるんじゃないでしょうか?(この一行が間違ってると思った貴方はマダマダですw)
OpenCLのメモリモデルも気に入りました。あれは必然ですね。
しかしAMDが真の意味でFUSIONを達成した暁には、このメモリモデルも含めパラダイムシフトが起きる可能性は有ります。
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、近年になってAMD K6を試したくなりSocket7でK6-2+のシングル構成で組んだのがシングル初です。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC8801mkⅡsrでZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR