Ryuz's tech blog

FPGAなどの技術ブログ

計算機科学

フィジカルAIについて考えてみる

はじめに 昨今、フィジカルAIや、エンボディドAI などの単語をよく聞くようになってきました。 当サイトのリアルタイム性に対するこだわりが発揮しやすそうな領域であり、FPGA 応用の生きてくる分野でもありますので、少し考察してみたいと思います。 昔から…

(おまけ) 続・FPGAに対する誤解

はじめに 前回、FPGAに対する誤解と「どうFPGAを使うべきか」 という記事を書きました。 ちょっと調子に乗ってアンチパターンをイラスト化してみたのでおまけ記事として書いておこうと思います。 実践入門FPGA開発 7日間で学ぶ生成AIによる回路設計 技術の泉…

FPGAに対する誤解と「どうFPGAを使うべきか」

はじめに 以前、FPGAを始めるときの壁 というのを書かせて頂きました。 また最近、CPU や GPU についても幾つか個人的意見を書かせて頂きました。 今日は、今のところ私が最も熱を入れている FPGA について私見を書いてみたいと思います。 FPGAの原理と構成…

なぜGPUは高性能なのか

はじめに 最近 FPGA をやっているとよく GPU と比べられるという事が起こります。 本来の FPGA の得意分野(通信処理とか画像信号処理とか)を考えると、不思議な感じもするのですが、逆に FPGA が汎用計算機と比較されてしまうぐらい守備範囲を広げているとも…

結局CISC/RISC論争とは何だったのか?

はじめに 例によって当事者でもない人間が感想を書く素人考察ポエムです。 先日 こんな 記事を書き、その中で 「 このあたりで1命令で出来ること自体を複雑にするかシンプルにするかでCISC/RISC論争とかがあった気もしますが、今となってはあまり本質ではな…

近代CPUのメリット/デメリットを考えてみる

はじめに 我々プログラマは CPU/GPU/NPU/FPGA なんかを特性に合わせて選択しながらプログラミングすることになっているわけですが、AI以降、CPU以外のプロセッサの台頭が著しいですので、今更ながら基本となる CPU をもう一度眺めてみようという書きながら考…

リアルタイムコンピューティング的CNN再考

はじめに 当方はFPGAを使ったリアルタイムコンピューティングをメインに活動しております。 流行りの深層学習は私の中では One of them でしかないつもりなのですが、それでも昨今どうしても無視はできないので、リアルタイムコンピューティング観点でCNNを…

ハイサンプリングレートのススメ

はじめに 当サイトはリアルタイムコンピューティングの為に、ハイフレームレート撮影などサンプリングレートを高めることでリアルタイム性を上げることをことあるごとに推奨しています。 それはどういうことかというのを少し説明したいと思います。 高速度撮…

演算量とリアルタイム性の関係

はじめに 昨今、深層学習を中心に例えば画像認識を行うにしても大量の演算能力を投入して、高度な結果を得ようとするものが増えました。 しかしながら、同期デジタル回路による計算機が持つ演算能力には上限があり、演算器数×周波数以上の時間当たりの演算は…

続・計算機の効率(x86の加算器を推定してみる)

はじめに つい最近、x86 CPU が割と長らく整数乗算をスループット1で処理していなかったことに気が付いてこんなブログを書きました。 ついでなので、工夫や構成でトランジスタ数の変わる乗算は置いておいて、比較的変化の少ない加算器で専用計算機との比較を…

計算機の効率というものについて素人が駄文を書いてみる

はじめに 計算機の世界で ××倍速い、とか、〇〇倍の効率を達成とか、よく聞くわけですが、いわゆる当社比で2つを比べる場合ならともかく、そうでない場合はいろいろと比較が難しいように感じております。 特に FPGA をやっていると、ASICと比べると 10~100…

計算機科学から見たリアルタイム・ハイスピードビジョン

はじめに 先日、下記のくだりを X で呟いたところ、思いのほかのプチバズり状態となり驚きました。 動き探索などが良い例で、1フレームで100ピクセル移動されると、100x100で10000ピクセルの範囲を検索しないといけないが、フレームレートを100倍にすると、1…

MN-Coreを素人考察してみる

はじめに 先般 MN-Ccore Challenge なるものが開催され、私もスキマ時間に気分転換的にちょこちょこ挑戦していたのですが、とても面白いアーキテクチャだなと思いました(順位はまあその力及ばず微妙な感じでしたが)。 普段 FPGAプログラミングが多い私ですが…

データ並列とパイプライン並列

はじめに FPGAなどでデータ処理をする場合、その並列性を活かして高性能な処理をするという事はしばし求められることです。 その際にしばし使われるデータ並列とパイプライン並列を整理しておきたいと思います。 データ並列と言うと、AVX-2 のような SIMD(Si…

クロスバースイッチの規模考察

はじめに 今日は、最近のプロセッサをウォッチしている中での素人の妄想を書いてみます。 プロセッサの性能と規模の法則としてポラックの法則というものがあります。 これは簡単に言うとプロセッサの性能を2倍、3倍、4倍にするには、プロセッサに適用する…

K26SoM のデータ帯域を調べてみる

はじめに KV260 には K26 SoMが搭載されています。実際には KV260 にはコネクタが片方しかついてないとかいろいろあるのですが、一旦そこは置いておいて、K26 SoM モジュールをデータ帯域観点で見てみたいと思います。 以前にリアルタイムコンピューティング…

GPGPUのメモリアーキテクチャついて考えてみる

GDDR について もともとGPGPUはGPUであり、GPUはグラフィックスボードであります。 グラフィックスボードは、DVIとかHDMIとかDisplayPort を備え、60fps などで毎フレーム画像を生成&出力するものですが、そうするとゲームなどではその fps に対して、例え…

1bit計算機についての妄想

はじめに 先日、Youtube でこんな動画を見かけて、そのなかで加算器などの演算器がいくつか出てきました。 youtu.be 計算機黎明期の演算資源が貴重だった時代のお話と思いますが、今のテクノロジーでやろうとしたらどうなるんだろう? という妄想をしてみた…

非ノイマン型について再考してみる

はじめに なんとなくお散歩中に考えていたことを先ほどとめどなく X にツイートしていたのですが、少しまとめておきたく、久々にブログに書いておこうと思います。 私が今Xの固定ツイートにしている下記のデモ試作のアーキテクチャを題材に、非ノイマン型に…

最新FPGA の Top500 的な性能はどうなのか?

はじめに 最近久々に FPGA 使う仕事に復帰したので、これまた久々に最新のFPGAの性能を調べてみたいと思います。 過去にも何度かやっている FLOPS の見積もりを、現時点で Xilinx の最高峰の筈の VP1902 (TSMC 7nm )に対してもやってみます。 www.amd.com は…

パラメータごと合成するという事

はじめに 少し前に、X(Twitter) にこんな絵を張り付けた。 ちょうど BitNet(b1.58) が盛り上がっていて、パラメータ効率の議論が起こっていたときだと思う。 忘れる前にもう少し書いておこうと思う。 上の図では少なくとも DRAM などの外部メモリや、そこへ…

SIMD/SIMTとMIMDと

はじめに 先日Rustのイテレータでの処理順序関連してこんな記事を書きました。 加えて最近少し Elixir を調べていて、Enum, Stream, Flow などの処理を興味深く見ております。 そこで、ALU(arithmetic Logic Unit)視点から見た2種類の計算機のデータ処理パタ…

FPGAは1命令を繰り返すVLIWプロセッサ?

ちょっとしたジョーク的な駄文ですが、ふと思いついたのでメモしておきます。 こちらで少し、RTLプログラミングを普通の逐次処理型のプログラミングモデルと比較したりしていましたが、ふと「 FPGA って実はとてもたくさんの命令をパッキングした、たった1…

リアルタイム処理を再考してみる

はじめに 最近、github連携が便利でZennを使い始めましたが、あくまでこちらはQiitaの乗り換え色が濃いので、引き続き、結論のない試行錯誤中の感想とか、ポエム系はこちらに書こうかなと思います。 今回はまたあらためてプロセッサのリソース観点からリアル…

リアルタイムコンピューティングのメモリ階層

はじめに 以前こちらに参加させていただいた時に、HPCで演算器を遊ばせないために必要なメモリ帯域や階層キャッシュの容量の話を知る機会があり、エッジコンピューティングの場合どうなのだろう、といろいろと考えておりました。 で、ちょっとだけ構想を Twi…

リアルタイムコンピューティング再考

はじめに 私のサイトでは 1998年に μITRON仕様の HOS-80をリリースさせていただいたのを出発点に、リアルタイムコンピューティングを扱ってきました。 いくつかの活動や成果物は私のWebサイトなどにも貼っておりますし、いろんな個人的な発表やTwitterなどで…

ストールしないテクスチャキャッシュ

はじめに Verilator を試すのに昔書いたRTLソースを発掘していたら、かなり昔書いたGPU用のテクスチャサンプラーとテクスチャキャッシュが出てきました。 こんなことやってたころに作ったやつだと思いますが、記事にしたことが無かったと思いますので、少し…

BinaryBrain ver4 リリース

リリースのお知らせ ずいぶんと久しぶりになりますが、コロナもあって引きこもりのお正月を迎えるにあたって、少しまとまった時間が取れましたので Python対応を強化して BinaryBrain Ver4 をリリースいたしました。 Ver4 ソースコード一式 ('ver4_release' …