講演『ARM CPUにおけるSIMDを用いた高速計算入門』を行い、資料を公開しました

2021年6月14日

1ヶ月ほど前になりますが、東京大学 次世代知能科学研究センター主催のセミナーにおいて、『ARM CPUにおけるSIMDを用いた高速計算入門』と題して講演を行いました。 以下にセミナーの概要を転載します。

  • タイトル
    • ARM CPUにおけるSIMDを用いた高速計算入門
  • 講師
    • 今泉良紀 (株式会社フィックスターズ, シニアエンジニア)
  • 日時
    • 4/28 13:00-14:00 @zoom
  • 概要
    • 昨今、画像や音声などのマルチメディア処理、機械学習など、大量のデータを高速に一括で処理する需要が高まっている。 そのような需要に応える方法の1つとして、CPUのSIMD演算器を活用するというものがある。本講演では近年組み込み機器からスーパーコンピューター向けまで広い用途で利用されているARM CPUにおけるSIMD命令について学んでいく。 SIMDとは何か、ARMのSIMD命令を扱うプログラムの読み方などを扱う。 また、ケーススタディとして普通のプログラムをARMのSIMD命令を用いて高速化する流れを紹介する。
  • 講師略歴
    • 2019年株式会社フィックスターズ入社。主に組み込みソフトウェアやスマートフォン向けソフトウェアの高速化業務に携わる。
  • ホスト
    • 松井勇佑先生(電子情報)

そしてこの度、この講演で使用したスライドをSlideshareで公開しました。 ライセンスは クリエイティブ・コモンズ表示-継承4.0国際ライセンス(CC BY-SA 4.0) となります。

講演の内容についてざっくり説明すると、そもそもSIMDとはなにか、という話から始まり、SIMD命令を使うにはどのような方法があるか、SIMDプログラミングではどのような点に気をつければよいか、といったSIMDやSIMDプログラミング全般の話と、ArmのSIMD(一般にNEONと呼称されます)のintrinsicを用いたプログラミングに関する話、そして最後にArm CPU上でintrinsicを用いて二次元画像の畳込み処理を高速化する話、の3本立てです。 簡単ではありますが理論寄りの導入から実装の話まで取り扱っているのでまとまりがよい内容になったかと思います。 初めてSIMDプログラミングをする、といった際に参考にしていただければと思います。

ホストを務めてくださった松井先生からはソフトウェア高速化のご依頼を頂いており、本講演はその一環として松井先生からのご依頼で発表したものとなります。 松井先生と取り組んだソフトウェア高速化の成果については、別の記事で紹介予定です。

当日は私個人の想像を上回る人数にお集まりいただき、また講演後の質疑応答の時間でも皆様から多数の質問をいただきました。 質疑の内容については上述の公開資料の末尾にまとめてあります。 就職後は学生の方と接する機会も減りつつあり、こうした機会を設けていただけたことは私個人としても良い経験になりました。

さて、公開した資料にもあります通り、弊社ではインターンシップを募集しております。 SIMDを始めとしたソフトウェアの高速化に興味がある方、ぜひご応募ください。

About Author

Imaizumi Yoshiki

Leave a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media