WSL2の使用例


これまで本サイト検証記事にて、Windows Subsystem for Linux2 (WSL2) のセットアップに関する内容を紹介しておりましたが、今回はOpenCVをWSL2上でセットアップした事例を紹介します。

参考:Windows 11上のWSL2でCUDA Toolkit環境を構築する方法

[目次]

背景
作業内容
 -GPU
 -OpenCV
-描画用のライブラリ

背景

テグシスをご利用のお客様より、以下のご相談をいただきました。

ご相談
Linuxの操作体系でOpenCVを利用したいが、Linux専用マシンを用意することができない。
現在利用中のWindowsノートパソコンがNVIDIA GPU搭載モデルのため、このノートパソコンにWSL2でLinux環境を構築し、OpenCVをセットアップしてほしい。

作業内容

GPU

WSL2上のUbuntu 20.04にCUDA Toolkitを参照可能な形でOpenCV 4.9.0のインストールを行いました。
ご相談いただいた時点で、既にお客さまが一部作業を実施されており、WSL2上でのGPUサポートの利用に問題がないことが確認できました。
ノートパソコンのため、ディスプレイ出力はCPUのオンボードグラフィックとNVIDIA GPUの2系統が存在しましたが、特別な設定を行うことなくNVIDIA GPUを用いたCUDAプログラムの実行が可能でした。

WSL2上でのGPUサポートセットアップの概要は、テグシスWEBサイト“技術解説 ベンチマーク”に掲載の検証記事をご覧ください。

参考:【記事】Windows Subsystem for Linux 2(WSL2)のGPUサポートについて【1/3】
参考:【記事】Windows Subsystem for Linux 2(WSL2)のGPUサポートについて【2/3】
参考:【記事】Windows Subsystem for Linux 2(WSL2)のGPUサポートについて【3/3】

OpenCV

OpenCVは、アプリケーション公式サイトにて解説されている手順にてインストールが可能です。

参考:OpenCV: Installation in Linux

なお、OpenCVはバージョン4以降、CPU実行用のコードとGPU実行用のコードが分離されて提供されております。
GPU実行を行う場合は、OpenCV本体に加えて”opencv_contrib”のインストールも必要です。

描画用のライブラリ

また、画像の表示をWSL2上から行うため、WSL2上のUbuntuに描画用のライブラリを追加でインストールしました。
以前のWSL2はウインドウ (GUI) の出力が考慮されておりませんでしたが、機能の拡張が進み、現在では比較的簡単な方法でウインドウの出力設定を行うことができます。

しかし、 (WSL2上の) Ubuntuインストール直後の状態ではウインドウを出力できません。
何らかのGUIアプリケーションをUbuntu上でインストールすると、依存関係に応じてGUIライブラリがインストールされ、ウインドウの出力が可能になります。

※補足※
なお、上記処置を行えばあらゆる描画が可能になるわけではありません。
弊社にて確認できた限りでは、高度な3Dグラフィック描画を行うことはできませんでした。

前日の処置を実施してからは、OpenCVからも画像の出力が可能になります。
下記画像はOpenCVのサンプルプログラムを用いてWSL2上から画像を表示させたものです。

正確には画像のリサイズ、表示をCPU実行、GPU実行それぞれで行い、所要時間を比較するプログラムですが、画像のサイズが小さいこともあり、GPU実行の有効性を確認するには至りませんでした。
より大きな画像やGPUに適した処理を行うことで効果を実感できるかと思います。

 

Windows Subsystem for Linux2 (WSL2) をセットアップしたワークステーションのご相談はお気軽に!

研究用・産業用PCの製作・販売サービス TEGSYS – テグシス

width="340"

width="430"

このエントリーをはてなブックマークに追加