しかつきかふぇ

ちょっとした休憩時間に

openSUSE で PG-Strom のエラー内容を再検証してみる ※もうちょい深堀り。

師走って一体何・・・?

鹿野です。

師走ですね。例年通り死んでます。。。
皆さん年末に仕事を駆け込みのようにぶつけてくるのは一体何なんでしょうかね!??(笑)

写真は最近このタイミングでハマってるかぐや様。
この話もしたいけど・・・今はそれどころではないorz

今日は openSUSE Advent Calendar 202320日目の記事です。 前回に引き続き、 PG-Strom の記事となります。

cafe.shikanotsuki.me

が、まだ動かせてません!!(笑)
今日は前回のエラー内容について改めて確認していこうという記事になります。

次回は 12/23 にアドベントカレンダーに登録しておきましたので、結論だけ読みたい方はもう少々お待ちください。

前回のエラーを振り返る

前回の記事ではこんなエラーが出ていました

pgstest=# SELECT ST_Distance(ST_MakePoint(137.0, 44.0), ST_MakePoint(x,y)) FROM points1000man
    WHERE ST_Distance(ST_MakePoint(137.0, 44.0), ST_MakePoint(x,y))<0.5;
ERROR:  unknown alignment

このエラーを見て、SQL 初心者な私は純粋に SQL をコピペし間違えてるのかなと考えてました。
が、元記事を書いていた酒井さんより、『PostGIS のエラーでは?』と助言を頂いたので、改めて確認してみようと思います。
(え、まぢか!?が本音だったw)

sakaik.hateblo.jp

というわけでいろいろ試してみる

まずは上の SQL 文を GPUを使わないで発行するとどうなるか?

pgstest=# SET pg_strom.enabled=false;
SET
pgstest=# SELECT ST_Distance(ST_MakePoint(137.0, 44.0), ST_MakePoint(x,y)) FROM points1000man
    WHERE ST_Distance(ST_MakePoint(137.0, 44.0), ST_MakePoint(x,y))<0.5;
FATAL:  failed to load summary "/usr/lib/postgresql15/lib64/bitcode/postgis-3.index.bc": Invalid summary version 9, 1, 2, 3 or 4 expected
サーバーとの接続が想定外にクローズされました        おそらく要求の処理前または処理中にサーバーが異常終了        したことを意味しています。サーバーへの接続が失われました。リセットしています: 成功。pgstest=# 

・・・・・・ビンゴのようです(笑)
見事なまでに PostGIS のエラーが出てきましたね。 ←もっと早く気づけよとも言う

なんとなくですが、、、PostGIS のバージョンが間違ってる疑惑があります。
どういうことだ???

とりあえず、 PostGIS のバージョンも確認しておきます。

postgres=# SELECT PostGIS_Full_Version();
                                                                       postgis_full_version                                                                       
------------------------------------------------------------------------------------------------------------------------------------------------------------------
 POSTGIS="3.3.4 3.3.4" [EXTENSION] PGSQL="150" GEOS="3.12.1-CAPI-1.18.1" PROJ="9.3.0" LIBXML="2.10.3" LIBJSON="0.13" LIBPROTOBUF="1.3.2" WAGYU="0.5.0 (Internal)"
(1 行)

postgres=# SELECT * FROM pg_available_extensions WHERE name = 'postgis';
  name   | default_version | installed_version |                          comment                           
---------+-----------------+-------------------+------------------------------------------------------------
 postgis | 3.3.4           | 3.3.4             | PostGIS geometry and geography spatial types and functions

3.3.4 だそうです。
これは openSUSE Leap15.5 で何も考えずに入れると入ってくるバージョンでしたね。(前回記事参照)

ちなみに、酒井さんの記事では、

PostgreSQLPostGISをインストールします。今回は、PostgreSQL 15を使用(PG-Strom v5 の推奨環境)しているため、PostGIS にも 33_15 と明示してインストールします。

という記載があります。
33 は 3.3 ってこと? 15 は PostgreSQL15 のことですよね??

あながち間違ってるとは思えないのですが(汗)

もう一度 PG-Strom のドキュメントを確認してみよう

というわけで、 PG-Strom のドキュメントをもう一回確認してみます。

PG-Strom Manual

めっちゃ日本語化されてる!!!!w

という話は今は置いておきまして、必要要件を見てみます。
後でわかったことですが、今回インストールしていたのは PG-Strom の v3 系だったようです。

PG-Strom の v3 系の動作環境

PG-Strom v3.0 - PG-Strom Manual

・・・おいっ(笑)

このままではお話にならないので、先日出たばかりの v5 系も確認してみます。

PG-Strom の v5 系の動作環境

・・・あ〜、うん。そうね。。。CUDA 12.2 以降が必要なんね〜・・・・

まとめ。ドキュメントはちゃんと読みましょう!!!

というわけで、次回はちゃんと動作確認までしたいと思います。
動かない理由は皆さんわかったかと思うので、私もがんばります(とほほ)。

P.S.
そういえばドキュメントの日本語化が妙に進んでたけど誰がやってるんでしょうかね?
・・・と思ってみてみた。

github.com

あ〜、そっちか〜。(あっちだと思った)