2008-05-20[n年前へ]
■「ネイティブ言語」の意外性
「DAPDNA」は、IP Flexのダイナミック・リコンフィギュラブル・プロセッサ「DAPDNA」だ。ダイナミック・リコンフィギュラブル(動的再構成)技術、つまり、チップの処理内容をns(ナノ秒)単位で切替えることで、多種機能を自由度高く比較的小規模なチップで実現することができるチップである。
私は去年、日本ですごい異世界を発見してしまいました。手話です。ネーティブの人、つまり「ろう者」の先生から直接手話を習っているんです。福祉に目覚めたわけでは全然なく、それが言語だと知ったからなんです。
高野秀行
このDAPDNAの統合開発環境には2種類ある。一つは、C言語のような「高級言語」を使う DFC Compiler で、もう一つが演算器をドラッグ・アンド・ドロップで繫げるGUI 形式の開発環境 DNA Designer だ。
DAPDNAの紹介文書を眺めていると、”DFC Compiler ではC(風)言語で手軽・簡単に記述することができます””DNA DesignerはGUIを使った開発環境で、ハードウェアの能力を最大限に活用した細かなチューニングをすることができます”というようなことが書いてあった。一瞬、「おやっ?」と不思議に感じた。「C言語なら簡単・手軽で、GUIプログラミングではハードウェアの能力を活かしきるチューニングが可能だ」というフレーズに意外性を感じた。たとえば、「Windowsのアプリケーションを作るのに、APIゴリゴリのプログラミングより、GUI開発環境でプログラミングする方が、チューニングできる」と聞いて、「あれっ?」と感じるような意外性を感じたのである。
言語が違うということは世界の見え方が違うということです。
高野秀行
しかし、これは少し考えれば当然のことだ。行いたい処理を、「C言語」で記述した内容から演算器群を用いて自動生成するのと、演算器を回路図として記述するのでは、後者の方が「ハードウェアの能力を最大限に活用した細かなチューニングをすることができる」のは当たり前である。GUI開発環境上でドラッグ・アンド・ドロップされ、それらの繋がりが描かれた演算器群こそが、こういったチップの動きを一番素直に記述する「ネイティブ言語」なのである。並列化が進んだシステム上で動くものを作るときには、GUI言語こそがネイティブ言語と言えるのかもしれない。
手話も、手話ネーティブもほんとに面白い。福祉の話題にしておくのはもったいなさすぎます。こんなに文字かなところに異世界があるんだから、一人でも多くの人に楽しんでほしい。
高野秀行
2009-08-22[n年前へ]
■日立システム、数百万の画像から類似画像を1秒以内で検索できる製品
日立システム、数百万の画像から類似画像を1秒以内で検索できる製品
日立システムアンドサービスは7月30日、日立製作所が開発した、数百万件規模の大規模な画像データの中から指定した画像と類似した画像を1秒以内で検索できる技術「EnraEnra」を用いた「画像検索ソリューション」の提供を8月3日から開始する。
EnraEnraは、画像から色分布や輝度勾配パターンの分布などの情報を数値ベクトル化した「画像特徴量」を自動的に抽出し、それを基に類似画像を検索する技術で、画像に関連するキーワード情報が付与されてない画像データも検索対象にできる。また、数百万件の画像データから約1秒で類似した画像を検索し、サーバを並列化すれば数千万件の画像を1秒以内で検索することが可能。
2009-10-17[n年前へ]
■並列化テンプレートクラスライブラリ「Intel Threading Building Blocks」入門
「オープンソース化された並列化テンプレートクラスライブラリ「Intel Threading Building Blocks」入門」
C/C++で並列アプリケーションを実装する手法として、並列化したい処理をOSのAPIを用いてマルチスレッド化する、もしくは並列プログラミングの規格である「OpenMP」を利用する、といったものが知られている。これらについては以前の記事でも紹介しているが、マルチスレッドを利用した実装は柔軟性がある一方で手間が掛かり、OpenMPは比較的手軽だが柔軟性に欠けるなど、それぞれに長所と短所がある。
これらの問題を解決し、C++での見通しの良い並列処理実装を可能にするのが本記事で紹介する「Intel Threading Building Blocks」(以下、TBB)である。
2010-01-19[n年前へ]
■フィックスターズ、初めてのOpenCLプログラミング本を発売
「フィックスターズ、初めてのOpenCLプログラミング本を発売」
株式会社フィックスターズ(以下、フィックスターズ)は、同社執筆によるOpenCLプログラミングの入門書「OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング - 」を、1月22日にインプレスジャパンより発売した。
(中略)
「OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング - 」は、並列化プログラミングの基礎から、OpenCLを使いこなすための基本的な概念、文法、プログラミング手法の解説に加え、開発環境の構築方法からFFTおよびメルセンヌツイスタといったアルゴリズムを用いた実践的なプログラム作成方法を紹介している。