このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
1ヶ月ほど前になりますが、東京大学 次世代知能科学研究センター主催のセミナーにおいて、『ARM CPUにおけるSIMDを用いた高速計算入門』と題して講演を行いました。 以下にセミナーの概要を転載します。
そしてこの度、この講演で使用したスライドをSlideshareで公開しました。 ライセンスは クリエイティブ・コモンズ表示-継承4.0国際ライセンス(CC BY-SA 4.0) となります。
講演の内容についてざっくり説明すると、そもそもSIMDとはなにか、という話から始まり、SIMD命令を使うにはどのような方法があるか、SIMDプログラミングではどのような点に気をつければよいか、といったSIMDやSIMDプログラミング全般の話と、ArmのSIMD(一般にNEONと呼称されます)のintrinsicを用いたプログラミングに関する話、そして最後にArm CPU上でintrinsicを用いて二次元画像の畳込み処理を高速化する話、の3本立てです。 簡単ではありますが理論寄りの導入から実装の話まで取り扱っているのでまとまりがよい内容になったかと思います。 初めてSIMDプログラミングをする、といった際に参考にしていただければと思います。
ホストを務めてくださった松井先生からはソフトウェア高速化のご依頼を頂いており、本講演はその一環として松井先生からのご依頼で発表したものとなります。 松井先生と取り組んだソフトウェア高速化の成果については、別の記事で紹介予定です。
当日は私個人の想像を上回る人数にお集まりいただき、また講演後の質疑応答の時間でも皆様から多数の質問をいただきました。 質疑の内容については上述の公開資料の末尾にまとめてあります。 就職後は学生の方と接する機会も減りつつあり、こうした機会を設けていただけたことは私個人としても良い経験になりました。
さて、公開した資料にもあります通り、弊社ではインターンシップを募集しております。 SIMDを始めとしたソフトウェアの高速化に興味がある方、ぜひご応募ください。
keisuke.kimura in Livox Mid-360をROS1/ROS2で動かしてみた
Sorry for the delay in replying. I have done SLAM (FAST_LIO) with Livox MID360, but for various reasons I have not be...
Miya in ウエハースケールエンジン向けSimulated Annealingを複数タイルによる並列化で実装しました
作成されたプロファイラがとても良さそうです :) ぜひ詳細を書いていただきたいです!...
Deivaprakash in Livox Mid-360をROS1/ROS2で動かしてみた
Hey guys myself deiva from India currently i am working in this Livox MID360 and eager to knwo whether you have done the...
岩崎システム設計 岩崎 満 in Alveo U50で10G Ethernetを試してみる
仕事の都合で、検索を行い、御社サイトにたどりつきました。 内容は大変参考になりま...
Prabuddhi Wariyapperuma in Livox Mid-360をROS1/ROS2で動かしてみた
This issue was sorted....