伊部 卓秀 (アダコテック)

株式会社アダコテック( https://adacotech.co.jp/ )でエンジニ…

伊部 卓秀 (アダコテック)

株式会社アダコテック( https://adacotech.co.jp/ )でエンジニアをしています。 Zenn ( https://zenn.dev/t_ibe ) に新しい技術記事を投稿しています。

記事一覧

アダコテックのコア技術「HLAC」ってなに?

製造業×AIのアダコテックでAIエンジニアを務めている伊部です。アダコテックには創業時からエンジニアとして携わっています。 この度、2022年4月にアダコテックはシリーズ…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(6) プリフェッチ

前回(第5回)は、SSE2とAVX2の比較をしました。ベンチマークの結果、同じメモリに対して繰り返すだけなら約1.8倍高速化出来ましたが、大きな配列に対して連続して計算する…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(5)

前回(第4回)は、整数型での四捨五入を、AVX2の整数型で実装しました。 今回は、もっと単純なお題で、SSE2とAVX2の比較をしてみたいと思います。 お題乱数の入った80000…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(4)

前回(第3回)は、整数型での四捨五入を、SSE2~SSE4.1の整数型で計算する方法を説明しました。 今回は、AVX2の整数型で計算してみます。レジスタ長が2倍になるから2倍速…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(3)

前回(第2回)は、固定小数点数の話をしました。固定小数点数を使った整数型演算で、割り算を使わない割り算の方法を説明しました。 今回は、前回説明した、割り算を使わ…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(2)

前回は、整数型での四捨五入の話をしました。整数型のみで計算をすれば浮動小数点型を使うよりも(ちょっとだけ)速く計算できますよという話でした。 前回の整数型演算の…

画像解析を高速化させるためのTipsわかりやすくまとめてみた(1)

こんにちは、こんばんは、はじめまして。株式会社アダコテックの伊部です。弊社では、製造業に向けた異常検知のAIソフトウェアを開発・提供しています。私はそこで、画像処…

アダコテックのコア技術「HLAC」ってなに?

アダコテックのコア技術「HLAC」ってなに?

製造業×AIのアダコテックでAIエンジニアを務めている伊部です。アダコテックには創業時からエンジニアとして携わっています。
この度、2022年4月にアダコテックはシリーズBで11億円の資金調達を実施したことを発表しました。

このnoteでは、アダコテックのコア技術である「HLAC」について、詳しく解説していきます!

HLACってなに?

HLAC (Higher-order Local Aut

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(6) プリフェッチ

画像解析を高速化させるためのTipsわかりやすくまとめてみた(6) プリフェッチ

前回(第5回)は、SSE2とAVX2の比較をしました。ベンチマークの結果、同じメモリに対して繰り返すだけなら約1.8倍高速化出来ましたが、大きな配列に対して連続して計算すると、約1.03倍にしかなりませんでした。

キャッシュメモリCPUの中にはキャッシュメモリと呼ばれる高速なメモリがあります。低速なメインメモリへのアクセスを隠蔽するために、よく使うデータを演算装置の近くに高速なメモリに置いておく

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(5)

画像解析を高速化させるためのTipsわかりやすくまとめてみた(5)

前回(第4回)は、整数型での四捨五入を、AVX2の整数型で実装しました。

今回は、もっと単純なお題で、SSE2とAVX2の比較をしてみたいと思います。

お題乱数の入った80000000個の符号なし8bit整数型の配列を2つ(X, Y)を用意し、XとYの要素同士の平均値Zを求めます(ただし、小数点以下は切り上げ)。つまり、Z[i] = ceil(X[i] + Y[i]) です。

実装前回までは

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(4)

画像解析を高速化させるためのTipsわかりやすくまとめてみた(4)

前回(第3回)は、整数型での四捨五入を、SSE2~SSE4.1の整数型で計算する方法を説明しました。

今回は、AVX2の整数型で計算してみます。レジスタ長が2倍になるから2倍速くなってくれるよね…?

割り算を使わない割り算のAVX2での実装
前回のコードとの違いは、変数の型が m128_t から m256_t に、 関数のプレフィックスが _mm128 から _mm256 になっているところで

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(3)

画像解析を高速化させるためのTipsわかりやすくまとめてみた(3)

前回(第2回)は、固定小数点数の話をしました。固定小数点数を使った整数型演算で、割り算を使わない割り算の方法を説明しました。

今回は、前回説明した、割り算を使わない割り算を用いて、前々回(第1回)の整数型での四捨五入を、SIMDの整数型で計算する方法を説明します。

SIMDとはSingle Instruction, Multiple Data の略で、1つの命令で複数のデータに対して同時に並列

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(2)

画像解析を高速化させるためのTipsわかりやすくまとめてみた(2)

前回は、整数型での四捨五入の話をしました。整数型のみで計算をすれば浮動小数点型を使うよりも(ちょっとだけ)速く計算できますよという話でした。

前回の整数型演算の話の延長で、今回は、固定小数点数の話をします。(SIMDの話は、次回以降にします。)

固定小数点数とは通常、コンピュータで小数を表現する手段として浮動小数点数(float型とか、double型とか)で表現しますが、限られたビット数で高速

もっとみる
画像解析を高速化させるためのTipsわかりやすくまとめてみた(1)

画像解析を高速化させるためのTipsわかりやすくまとめてみた(1)

こんにちは、こんばんは、はじめまして。株式会社アダコテックの伊部です。弊社では、製造業に向けた異常検知のAIソフトウェアを開発・提供しています。私はそこで、画像処理・機械学習のソフトウェアを開発するエンジニアをしています。

画像解析で検査を自動化する上で、画像認識の処理速度がミリセックオーダーで検査を実行するのが必須で、高速に画像処理・学習・解析をおこなうため、アダコテックでは長年にかけてそこの

もっとみる