ロードすることはできません。ctypesの経由Pythonで共有ライブラリ(CUDA)をロードし、動的共有ライブラリには、次のコマンドを経由して、私は私のCUDAスクリプトをコンパイルした
nvcc --ptxas-options=-v --compiler-options '-fPIC' -o test_function.so mologram.cu
を次に、Pythonで:
import ctypes
from numpy.ctypeslib import ndpointer
lib = ctypes.cdll.LoadLibrary('./test_function.so')
私は、過去に同様のスクリプトを実行され、このエラーが発生したことがない
OSError Traceback (most recent call last)
<ipython-input-12-02ce09d7f391> in <module>()
2 from numpy.ctypeslib import ndpointer
3
----> 4 lib = ctypes.cdll.LoadLibrary('./test_function.so')
/usr/lib/python2.7/ctypes/__init__.pyc in LoadLibrary(self, name)
438
439 def LoadLibrary(self, name):
--> 440 return self._dlltype(name)
441
442 cdll = LibraryLoader(CDLL)
/usr/lib/python2.7/ctypes/__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error)
360
361 if handle is None:
--> 362 self._handle = _dlopen(self._name, mode)
363 else:
364 self._handle = handle
OSError: ./test_function.so: cannot dynamically load executable
:
は、次のエラーメッセージをスローします。なぜこのエラーメッセージが表示されるのか困惑しています。
任意の入力が
共有ライブラリではないため、共有ライブラリをロードできません。 – talonmies