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

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

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

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

    最近の記事

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

    製造業×AIのアダコテックでAIエンジニアを務めている伊部です。アダコテックには創業時からエンジニアとして携わっています。 この度、2022年4月にアダコテックはシリーズBで11億円の資金調達を実施したことを発表しました。 このnoteでは、アダコテックのコア技術である「HLAC」について、詳しく解説していきます! HLACってなに? HLAC (Higher-order Local Auto-Correlation;高次局所自己相関)特徴は、産業技術総合研究所(以下「

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

        前回(第5回)は、SSE2とAVX2の比較をしました。ベンチマークの結果、同じメモリに対して繰り返すだけなら約1.8倍高速化出来ましたが、大きな配列に対して連続して計算すると、約1.03倍にしかなりませんでした。 キャッシュメモリCPUの中にはキャッシュメモリと呼ばれる高速なメモリがあります。低速なメインメモリへのアクセスを隠蔽するために、よく使うデータを演算装置の近くに高速なメモリに置いておくことで、速度性能を向上させています。 よく使うデータはキャッシュメモリに入って

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

          前回(第4回)は、整数型での四捨五入を、AVX2の整数型で実装しました。 今回は、もっと単純なお題で、SSE2とAVX2の比較をしてみたいと思います。 お題乱数の入った80000000個の符号なし8bit整数型の配列を2つ(X, Y)を用意し、XとYの要素同士の平均値Zを求めます(ただし、小数点以下は切り上げ)。つまり、Z[i] = ceil(X[i] + Y[i]) です。 実装前回までは、32bit整数型でしたが、今回は8bit整数型です。SSE2の場合はレジスタが

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

            前回(第3回)は、整数型での四捨五入を、SSE2~SSE4.1の整数型で計算する方法を説明しました。 今回は、AVX2の整数型で計算してみます。レジスタ長が2倍になるから2倍速くなってくれるよね…? 割り算を使わない割り算のAVX2での実装 前回のコードとの違いは、変数の型が m128_t から m256_t に、 関数のプレフィックスが _mm128 から _mm256 になっているところです。また、アラインメントは、SSEの場合は16バイトに合わせましたが、AVXの場

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

              前回(第2回)は、固定小数点数の話をしました。固定小数点数を使った整数型演算で、割り算を使わない割り算の方法を説明しました。 今回は、前回説明した、割り算を使わない割り算を用いて、前々回(第1回)の整数型での四捨五入を、SIMDの整数型で計算する方法を説明します。 SIMDとはSingle Instruction, Multiple Data の略で、1つの命令で複数のデータに対して同時に並列に演算する手法です。ベクトル演算とも呼ばれます。SIMD命令があるプロセッサには

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

                前回は、整数型での四捨五入の話をしました。整数型のみで計算をすれば浮動小数点型を使うよりも(ちょっとだけ)速く計算できますよという話でした。 前回の整数型演算の話の延長で、今回は、固定小数点数の話をします。(SIMDの話は、次回以降にします。) 固定小数点数とは通常、コンピュータで小数を表現する手段として浮動小数点数(float型とか、double型とか)で表現しますが、限られたビット数で高速に計算しないといけない場合(画像って8bit整数などで表現されていますよね)など

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

                  こんにちは、こんばんは、はじめまして。株式会社アダコテックの伊部です。弊社では、製造業に向けた異常検知のAIソフトウェアを開発・提供しています。私はそこで、画像処理・機械学習のソフトウェアを開発するエンジニアをしています。 画像解析で検査を自動化する上で、画像認識の処理速度がミリセックオーダーで検査を実行するのが必須で、高速に画像処理・学習・解析をおこなうため、アダコテックでは長年にかけてそこのチューニングをしてきたので、そこらへんのエッセンスをお伝えしようと思います。

                  スキ
                  14