プラットフォームで特定のデバイスのコンテキストを作成したいと考えています。しかし、私はエラーが発生しています。
コード:
import pyopencl as cl
platform = cl.get_platforms()
devices = platform[0].get_devices(cl.device_type.GPU)
ctx = cl.Context(devices[0])
私が得ているエラー:
Traceback (most recent call last):
File "D:\Programming\Programs_OpenCL_Python\Matrix Multiplication\3\main3.py", line 16, in <module>
ctx = cl.Context(devices[0])
AttributeError: 'Device' object has no attribute '__iter__'
以下を使用すると、プログラムはエラーや警告なしでコンパイルおよび実行されます。
ctx = cl.create_some_context()
ただし、この関数を使用してプログラムを実行するたびに、デバイス タイプを手動で選択する必要があります。次の環境変数を設定できます
PYOPENCL_CTX='0'
これを使用すると、要件に基づいて利用可能なさまざまなデバイスのコンテキストを作成できなくなります。作成するすべてのコンテキストで、デフォルトでデバイス 0 に設定されます。
誰かがこの問題を手伝ってくれませんか。
ありがとうございました