MacPro の衝撃

先日、MacPro の今秋の発売がアップルから公式にアナウンスされた。

当初は、その形状から「おろし金」などと言われていたが、徐々にそのハイスペックぶりに注目が集まっている。なにしろ、RAM だけで 1.5T 積めるらしい。
今から思うと OSX が「OpenGL 非推奨、Metal 推奨」になったのはこの布石だったのかもしれない。
画像処理を重視するなら、GPU を低レベルから操作できる Metal の方が処理速度の点で有利になることが予想される。現状では、OpenGL の Ver3, 4 の方が Metal より速いようであるが、コードが熟成すれば Metal の方が速くなりそうだ。
業務用途で凝った3Dキャラをストレスなく動かすには、ここまで必要なのかもしれない。ちょっとした画像処理でここまでの必要性があるのか判断しかねるが、アップルからしてみれば「業務用の高負荷のかかる映像処理は、Metal 対応のソフトで MacPro を使いなさいよ」ということなのだろう。

こういった明確なメッセージは、アップルらしいなあと思える。

 

 

HorliX カスタマイズ案件

HorliX は、AppStore から撤退を余儀なくされたわけだが、やはりというべきか、直接問い合わせ・カスタマイズが増えるようになってきた。
先日、某医療系団体からこんな問い合わせがあった。一部掲載。


メールにてもうちょっと詳細な技術的な回答をおこなったが、ここでも軽く解説しておくと…

シネマティックレンダリング→おそらく無理です。シネマティックレンダリングは、確か、複数の光源を設置し、その反射光をかなりのレベルまで計算させないと(有名メーカーがおこなっているようなレベルの)奇麗な画像は得られないと思います。現行のアルゴリズムを少々いじった程度ではでは難しい。

・・・と言ってたんですが、M1 + Metal のパフォーマンスがかなりのもので、シネマティックレンダリングまではいかなくても、かなりの画像が得られそうです。

試しに椎骨のポリゴンモデルを単一照明で3D描画させたんですが、リアルタイムで上のような画像が得られました。ちなみに私は Metal は初心者ですし、3DCGの lighting に関してもそんなに詳しくないので、そんなに凝った手法は使えないのですが、その割にけっこう綺麗な画像ではないでしょうか。
動画はこちらからどうぞ。

(ボクセルなどの)独自計算アノテーション→領域が確定したボクセルを数え上げるのは、さほど難しくない。問題は、数え上げたい領域をセグメントすることで、プラグイン作成の難易度は、領域を確定させるアルゴリズムによると思う。可能なものであれば前向きに取り組みたい。

こういう質疑応答はなんかいいですね。

ただ、基本的には従来版の HorliX のソースコードは公開しているわけだし、基本的にはプラグインの類は自分で作成してほしいと考えています。
理工系のトレーニングを受けていない医療関係者はしょうがないと思います。が、臨床工学技士や診療放射線技師など医療職でも技術よりの方はその素養がある程度あるわけですから、勉強だと思って取り組んでほしいなあと思います。

 

猪股弘明
医師:精神科(精神保健指定医

OpenGL to Metal 問題

Mac OS X では、次のバージョン(Mojave)から OpenGL が deprecated になるということで、推奨されている Metal 関係をさわってみる。

定番の Hello World を GPU を使って描画させてみる。

本当は、カラーで表示されないといけないんじゃ… と思わなくもないが、ビルドは通っているので一安心。

 

(追記)その後、コードを修正してカラーでも描画できるように修正。
GPU 利用ということでビビってましたが、どちらかといえば以前の windows 系API の描画手続きに近いかな。あれを GPU に直接委ねる感じといえば、ニュアンスは伝わるでしょうか。


参考:『Metal 入門』に簡単なサンプルプログラム載せておきましたので、ご興味のある方は覗いてみてください。

Playground でワンファイルで実行できるので、何やってるかわかりやすいと思います。

参考2:Metal では SIMD 命令がよく出てくるが、これが何者なのかは Arm のアーキテクチャまである程度まで理解を深める必要がありそう。
『Mac で学ぶ Arm アーキテクチャ』シリーズ(PHORLIX BLOG)でその辺まで解説する予定です。
現在、公開しているのは
Mac で学ぶ Arm アーキテクチャ 1-1
Mac で学ぶ Arm アーキテクチャ 1-2
です。


さらに頑張って、(まだ全てのモダリティに対応しているわけではないが)なんとかダイコム(DICOM)も読めるようにした。WL/WW のコントラスト調整はかけてないから、衣服やベッドまで見えてますが(笑)。

app から起動してもかなり、というか超絶速い。

これ、早送りとかしてません。

 

でも、OpenGL というかなり広汎に使われている技術からまだあまり知られていないフレームワークへの突然の移行ってなんか違和感ある。(アップルはよくこういうことをやるらしいのだが)

OsiriX の windows 版移植って誰もが考えることなんだけど、これは OpenGL 使ってこそのこと。各種ライブラリも Metal 対応を検討しているらしいが、すぐに実現できるとは思えない。アップルが Metal 以外認めないということになったら、windows 移植はかなり遠ざかる。

さて、どうなりますか。

 

(追記2)M1 Mac の評判がよく、さらに Metal を用いると画像処理まわりのパフォーマンスの向上が期待できることから、ちょっと慌ただしくなってきた感じです。

私も簡単な3D描画のテストプログラムつくってみました。

Metal 発表当初は懐疑的でしたが、これは移行しないといけないようです。

 

猪股弘明
HorliX, OpenDolphin-2.7m 開発者