スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- | スポンサー広告  TOP

プログラミング気になる話題。C++0xとOpenCLとIntel Larrabee

 良いお年を!って書きましたが、今年の話題納めを書き忘れました。
 気になる記事(少し古いのもありますが)から紹介したいと思います。共通テーマはパラレルコンピューティング。

C++0xのマルチスレッド機能
 std::threadというクラスでスレッドを書ける様にしてWindowsやLinuxなどの移植性を高めようってのが主旨だと思います。
 スレッドに渡すパラメータ数に制限が無いのもうれしい特徴かな?APIのスレッドだと沢山のパラメータを渡す場合は構造体が定番でしたからね。
 それと、複数のミューテックスをまとめてロック出来るのはうれしいかも。デッドロックが怖いですからね。
 でもまぁ、CELL等のヘテロジニアスマルチコアやGPUを使ったパラレルコンピューティングの時代には、まだまだ機能が足りませんって事で続いてOpenCLの話題。

Khronos Groupの代表がOpenCLを解説~Intel/AMD/NVIDIAを問わず動作するパラレルコンピューティングAPI
 Appleが先行していたとは言え驚異の半年で仕様がまとまったOpenCL1.0の話題です。
 抽象化することで1つのソースコードでCELLからRadeon、GeForceまで記述することが可能になる模様。
 エンコード等のストリーム系やレンダーなどのベクトル系演算のコードを書いてる人には気になる話題かな。
 普通のアプリを書いている自分としては、今後CPUを含め環境が変わっていく中でどんなコードを書くべきか将来のためにどんなコードを書いておくべきかってのが課題なわけです。
 です
が、処理を小分けして同期させてって考えると本当に早くなるの!ってことが問題ですよね。単にテストが難しくなる割に実行効率が高くないなら意味無いじゃんってオチがあるので気をつけないと。
 私なんかスレッドも普通に使ってますが、あくまでWindowsの操作性を下げないために重い処理は裏処理化しているだけで、多数のスレッド同士が連携してデータ処理するコードなんてPS3やXbox360のゲームプログラマと映像処理系の人以外はあまり書いてないんじゃないでしょうか?

 新しい時代のフレームワークとアルゴリズムが必要なのでしょう。でも時代に最先端ですので新しいアイデアが次々と生まれてくる時で、人任せにせず自分アイデアを世間に広めるチャンスでもあります。個人でも十分にチャンスがあるんじゃないでしょうか。私は今の所思いついてませんが(^_^;)

未来に強く過去に弱いIntelのLarrabee
と言う事で現実に出てくるGPUを内包したCPUであるIntelのLarrabeeです。
タイリング描画って話題で思い出すのがドリームキャストでも採用されたPowerVRですね。確かにコアサイズの割りに描画性能が高かったです。今だと携帯電話やiPhoneとかに秘かに使われているらしいですよ。
話を戻して、LarrabeeなのはIntelの一部の製品だけなので専用コードを書いても大半のIntelのCPUでは意味が無い恐れがあるわけで、こんなのお金を貰わないと書く気がしないんですが、どうなんでしょう??
それよりは、OpenCLで書いてRadeonからGeForceまでOKってのはありがたいですね。

などと書き散らしましたが、来年もよろしくお願いします。
では、改めまして良いお年を!
 

2008/12/29 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

コメント

コメントの投稿



管理者にだけ表示を許可する

 | BLOG TOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。