Hello, Rust!
前回の記事では、Rustを使用したHello, Worldについて紹介しました。今回も同じ題材を使用して、Rustで低レイヤプログラミングを行うための細かなテクニックについて紹介します。 インラインアセンブリ Rustの […]
このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
前回の記事では、Rustを使用したHello, Worldについて紹介しました。今回も同じ題材を使用して、Rustで低レイヤプログラミングを行うための細かなテクニックについて紹介します。 インラインアセンブリ Rustの […]
Fixstarsでは半年ごとに2つの社内勉強会を開催しているのですが、今は、もうすぐ確定するはずのOpenCL 2.1に向けてOpenCL 2.0の勉強会を開催しています。 先週の発表者は私で、タイトルに書いたようなこと […]
Broadwell、いわゆる 5th Generation Intel(R) Core(TM) Processor がリリースされてから大分経ちましたが、皆さん、Broadwellは使っていますか? Broadwell […]
curl (かーる) という,Webアクセスのためのコマンドラインツールがあります. 今回はこのcurlを使って,FlashAir Developersのチュートリアルを再現してみます. 以下,お使いの環境にc […]
3/15 に行われた、x86/x64最適化勉強会7 に行ってきました。 当日の様子は、主催の光成さんが書かれた、x86/x64最適化勉強会7レポート や @t_teruya さんによる togetter のまとめ などが […]
今回の記事は技術トークからはやや離れて、社内で行っているプログラミングコンテストについてお話ししたいと思います。 フィックスターズとプログラミングコンテスト フィックスターズは、2008-9年にPS3に搭載されたCPUで […]
2/1(日)に開催されたFPGAエクストリーム・コンピューティング(通称:FPGAX)で発表してきました。会場はFPGAエンジニアを絶賛募集という事で話題の株式会社ドワンゴのセミナールームです。ドワンゴさんらしく、発表の […]
気付いたら前回から何か月たってんのよみたいになるけど、第一回はーじまーるよー(遅 前回のおさらい Hello worldのサンプルを読みました しかしこれ気になるところが数点あるので、まずは気になるところをどうにかしてい […]
NVIDIA 社の開発した Denver という 64bit ARM CPU は、ARM 機械語を最適化する機能を持っています。これをいくらか見てみようと思います コード https://bitbucket.org/fi […]
さすがに20倍にはならないので、と書きましたが、よく考えたら、最近のx86 では サイクルあたりで 16byte の sad が一個取れるので、20倍ぐらい出そうな気がしたので試してみました。 https://bitbu […]
最近のGPUは、動画エンコーダを実装しているものが多いです。 Intel社のGPUは、この動画エンコーダで使われる、ブロック単位での動き予測ハードウェアを、OpenCLから使うことができます。 公式の解説 : https […]
ソフトウェアパイプライン (SWPL) を、Don’t Repeat Yourself で書くというお話です。 サンプルとして次のプログラムを考えます。
東芝のFlashAirというSDメモリーカードがあります。 フラッシュメモリに加えて無線LAN基地局機能とマイコンを内蔵していて、電源さえ供給すればこのカードだけでWebサーバーとして使えます。あるいは、Webインターフ […]
SSE, AVXの比較結果は真の場合、全ビットが立ちますが、これは -1 とも解釈できるので、 if (a == b) { c++; } if (a == b) { c–; } は、それぞれ、 c = _mm_sub_ […]
命令単位の時間をはかってみましょう。この場合は、命令のクロック単位で知りたいことが多いので、CPU_CLK_UNHALTEDの値を使ってみます。 https://proc-cpuinfo.fixstars.com/201 […]
rdtscp や CPU_CLK_UNHALTED は、細かい性能を計測する場合には便利ですが、大きな粒度で計測したい場合、単位の変換などが面倒です。状況に応じて、色々な方法を使い分けると良いでしょう。 以下、思い付く範 […]
Parallellaの新SDK&Linuxカーネルがリリースされました! http://forums.parallella.org/viewtopic.php?f=13&t=1883 第1回の記事を書いている間に […]
近年のCPUは電力削減のために、負荷にあわせてクロックが変動するものが多くなっています。 rdtsc, rdtscp で取得できる値は、このクロックとは別にカウントされており、省電力機能の有無に関わらず、一定クロックでカ […]
x86マシンでは、処理時間を計測する時、rdtsc 命令を使うと便利な場合があります。 しかし、rdtsc で取得できるタイムスタンプ値は、コア毎に同期されておらず、マザーボードやBIOSによっては、大きな差が出ることが […]
ついに、ポータブルスーパーコンピュータと呼ばれて久しいParallellaが 国内でも容易に入手可能になりました。 Parallellaって何?って方は、PC Watchさんの記事をご覧いただければ http://pc. […]
コンピュータビジョンセミナーvol.2 開催のお知らせ - ニュース一覧 - 株式会社フィックスターズ in Realizing Self-Driving Cars with General-Purpose Processors 日本語版
[…] バージョンアップに伴い、オンラインセミナーを開催します。 本セミナーでは、...
【Docker】NVIDIA SDK Managerでエラー無く環境構築する【Jetson】 | マサキノート in NVIDIA SDK Manager on Dockerで快適なJetsonライフ
[…] 参考:https://proc-cpuinfo.fixstars.com/2019/06/nvidia-sdk-manager-on-docker/ […]...
Windowsカーネルドライバを自作してWinDbgで解析してみる① - かえるのほんだな in Windowsデバイスドライバの基本動作を確認する (1)
[…] 参考:Windowsデバイスドライバの基本動作を確認する (1) - Fixstars Tech Blog /proc/cpuinfo ...
2021年版G検定チートシート | エビワークス in ニューラルネットの共通フォーマット対決! NNEF vs ONNX
[…] ONNX(オニキス):Open Neural Network Exchange formatフレームワーク間のモデル変換ツー...
YOSHIFUJI Naoki in CUDAデバイスメモリもスマートポインタで管理したい
ありがとうございます。別に型にこだわる必要がないので、ユニバーサル参照を受けるよ...