6

Ubuntu で一連の Python プログラムのノーズテストを作成しているときに、エラーが発生します。

devices = [ d for d in cl.get_platforms()[0].get_devices() if
LogicError: clGetPlatformIDs failed: platform not found khr


File "/home/fateeva/prog/deflectometry/SGMFMeasurement/_PhaseShifts.py", line 30, in <module>
    devices = [ d for d in cl.get_platforms()[0].get_devices() if
LogicError: clGetPlatformIDs failed: platform not found khr

どのように修正できますか?

4

5 に答える 5

0

root として Python スクリプトを実行してみてください。cl.get_platforms()root の下でエラーがスローされない場合、ユーザーにはアクションを実行するための十分な権限がありません。これを解決するには、nvidia-modprobeパッケージをインストールします。

sudo apt-get install nvidia-modprobe

ソース

于 2016-01-10T11:02:30.833 に答える
-1

これを試して。それはうまくいくはずです:

devices = [ d for d in cl.get_platforms()[0].get_devices(cl.device_type.GPU)]

プラットフォームで互換性のあるすべてのデバイスを一覧表示する場合は、次を使用します

platform = cl.get_platform()
my_devices = platform[0].get_devices(device_type = cl.devices_type.ALL)
print my_devices

互換性のあるデバイスでコンテキストを作成するには、次を使用します。

context = cl.Context([my_devices[<index>])

コンテキストを作成するデバイスに対応する場所。例えば:

context = cl.Context([my_devices[0])

私のこの投稿も参照してください。私もこれに問題がありました:

pyopencl: 特定のデバイスのコンテキストを作成する

于 2012-10-22T07:39:44.333 に答える