社内勉強会のネタです. HalideとDarkroomという画像処理を並列化するためのソフトウェアの研究についてのちょっとしたサーベイ発表のスライドを公開します. Halideについては,サンプルコードも書いてみました. とある画像処理を,下のメソッドチェーンで記述するだけで,「画像全体を8行毎に切って,それをマルチスレッドで処理し,8行毎の処理は内部的に4ピクセル毎にベクタライズして処理する」という並列化処理に置き換えられてしまいます. ゴイスー. temp.split(y, y, yi, 8).parallel(y).vectorize(x, 4); 例えば,25×25のサイズフィルタを畳み込むぼかし処理を上記の並列化で高速化した場合,画像サイズが768×1024のケースで,15倍くらい高速化することができました. また,HalideはC++にインラインでそのまま書けるのでポータビリテ