I'm using PostgreSQL 9.6 on Leap 42.3. I've compiled and installed pg-strom. Everything seems to work fine:
LOG: PG-Strom version 2.0devel built for PostgreSQL 9.6
LOG: PG-Strom: GPU0 GeForce GTX TITAN X (3072 CUDA cores), 1215MHz, L2 3072kB, RAM 12207.19GB (384bits, 3.34GHz), capability 5.2
LOG: PG-Strom: GPU1 GeForce GTX TITAN X (3072 CUDA cores), 1215MHz, L2 3072kB, RAM 12207.19GB (384bits, 3.34GHz), capability 5.2
LOG: NVRTC - CUDA Runtime Compilation vertion 7.5
Until I try to create the extension:
postgres=# CREATE EXTENSION pg_strom;
ERROR: could not find function "plcuda_function_validator" in file "/usr/lib/postgresql96/lib64/pg_strom.so"
Compilation of pg-strom ended without error. Also starting postgres with pg-strom extensions works without error.
plcuda_function_validator does not seem to be in the lib but another plcuda function is:
nm /usr/lib/postgresql96/lib64/pg_strom.so | grep plcuda_function_validator
nm /usr/lib/postgresql96/lib64/pg_strom.so | grep plcuda 00000000002c4010 D pgstrom_cuda_plcuda_code
Also compilation of the objects gpujoin.o, gpupreagg.o, gpusort.o, and pl_cuda.o is commented out in the Makefile which I cloned from the pg-strom git repo. When I try to compile these objects, compilation fails. I guess this part of pg-strom is not yet finished. Is pg-strom usable at all currently with postgres 9.6?
Thanks for any hints!
Edit: Solved by upgrading to Cuda 8.0 and installing Master branch instead of pgsql9.6 branch of pg-strom.