C / C++

2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~

概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとに…

TorchScript入門【PyTorchモデルを変換してC++/モバイルで実行できるモデルを手に入れる】

まえがき R&Dチームの宮﨑です。今回はPyTorchのモデルをC++/モバイルから実行できるように変換してくれるTorchScriptについてご紹介したいと思います。本記事ではPyTorch 1.4.0を前提にしています。 8/26に発表するOPTiM TECH NIGHTでもLibTorch/TorchScrip…

TFLite C++ API for Android ビルド手順メモ

R&D チームの奥村(@izariuo440)です。TensorFlow 2.3 以降、TFLite が XNNPACK で高速になりそうな機運を感じたので Android での性能を少し確認してみました。XNNPACK を有効化してスレッド数を適切に設定すれば、CPU でも従来の 1.2 〜 2.0 倍の FPS が…

CUDA で一時領域の確保・破棄を回避して速度低下を防ぐ

R&D チームの奥村(@izariuo440)です。今年も新卒が CUDA プログラミングを嗜んでいたところ、思ったより速度が出ないという話を聞いたので「CUDA で一時領域の確保・破棄を回避して速度低下を防ぐ」という対策をまとめました。Happy CUDing! 関連記事 tech…

顔検出器CenterFaceで高速推論

まえがき R&Dチームの宮﨑です。CenterFaceをTensorRTで実装したところ、かなりの性能が出たので記事にしました。 日々様々なDNNを実装・計測しているオプティムですが、その中でアンカーフリーの顔検出としてピックされたCenterFaceが期待できる結果が出た…

実装した ROS node のコードを社内に晒したらマサカリが飛んできた話

はじめまして。プラットフォーム事業部の足立(@moguriso)です。昨年中は、Cloud IoT OS開発チームに所属しながら、あまりCloud IoT OSとは関係のないIoT Gatewayデバイス(BL-02)の開発に関わって台湾*1に行ったり、最近はデータ収集用に構築されたROS環…

Raspberry PiとArduinoで社内イベントのための早押しボタンを電子工作してみた

はじめに 19新卒エンジニアの青木です。 先日(2019/06/07)にOPTiM Dayという創立記念日イベントがあり、今回はそこでの新卒企画を紹介します この記事はOPTiM Day新卒企画に登場した早押しボタンと効果音について、軽く解説したいと思いますのでよろしくお…

TensorRT/Rust/CUDA/thrust... 技術選定 2018

オプティム R&D チームの奥村です。今回は、私がどういう風に技術選定してきたかという振り返りです。2018 年は、動画解析ミドルウェアの開発などに取り組んできましたので、その中で学んだことの一部 (TensorRT/Rust/CUDA/thrust) を振り返る形でお伝えしし…