社会福祉 × ライフキャリア × ICT (情報通信技術)スキルの強みを、社会資源化していくオッサンの blog

[ICT] MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports) へ OpenCL/OpenGL 導入計画

[ICT] MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports) へ OpenCL/OpenGL 導入計画

どうも、こなさん、みんばんわ!
計算処理にベクター演算を経由する実装をここしばらく遠ざかっていましたが、ふと思い出しました。MacBook Pro の GPU は Intel Iris Plus Graphics 655 なので、ベクター演算は eGPU (外付け GPU Box) 利用が無難だろうなと思うも、最近のお仕事や趣味の ICT 総合格闘技(フルスタック)練習で GPU どころか、HPC からも少し遠くの領域にいるので、最近の OpenCL/OpenGL に触れられればいいかなという緩い気持ちで、まずは導入計画からです。

OpenCL/OpenGL 対応バージョンについて、Apple が情報公開していました。
https://support.apple.com/ja-jp/HT202823

OpenGL および OpenCL グラフィックスを扱う Mac コンピュータ
(Apple サポート公開から 2019/02/23 現在)


んじゃ、bash で clinfo を導入して OpenCL 環境を確認してみる。

snip

ふぁ? NOTE に気になる文言が。

your OpenCL library only supports OpenCL 1.0, but some installed platforms support OpenCL 1.2. Programs using 1.2 features may crash or behave unexpectedly

いやいや、それってバグあるから予め覚悟しとけ!ってことやないか。
ということは、仮想環境 virtualenv (Virtual Environment) を使えってことだ。導入には virtualenv が必要。(大事なことだから二度書きました)

— 
お次は、OpenGL を。昨日(前回の blog) で Xcode 導入済み。
Xcode で新規プロジェクトを作成して、四角形を描画するよくあるMVC をインプリメントします。

フレームワーク内の関数は AppKit の Developer Documentation に情報があるので参照してください。(基本的に自分でゼロから作りながらハマるよりも、公式情報を参照して実装していくスタイルです)

AppKit / Views and Controls / NSOpenGLView 参照例
Xcode 新規プロジェクト作成例
ビルドに必要なフレームワーク GLKit.framework と OPenGL.framework を追加。
スケルトン生成されるので、必要そうなコードを入れていく。

snip

OpenGL View クラスで描画したい四角形の引数を書く。青い箱は実行結果。

あら?OpenGL は導入計画どころか実装を確かめてしまいました。ということは、OpenCL ですね、さてどうしましようか。

以上

Macカテゴリの最新記事