10

OpenCLプログラムは、コンソールにログインしているときはGPUデバイスを見つけることができますが、sshを使用してリモートでログインしているときは見つけることができません。さらに、sshセッションでrootとしてプログラムを実行すると、プログラムはGPUを見つけることができます。

コンピューターは、GeForce9400GPUを搭載したSnowLeopardMacです。

コンソールから、またはルートとしてプログラム(以下を参照)を実行すると、出力は次のようになります(「GeForce9400」行に注意してください)。

2 devices found
Device #0 name = GeForce 9400
Device #1 name = Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz

しかし、それが私だけの場合、sshを介して、GeForce9400エントリはありません。

1 devices found
Device #0 name = Intel(R) Core(TM)2 Duo CPU     P8700  @ 2.53GHz

ルートでなくてもGPUでコードをテストしたいと思います。それは可能ですか?以下の簡略化されたGPU検索プログラム:

#include <stdio.h>
#include <OpenCL/opencl.h>

int main(int argc, char** argv) {
    char dname[500];
    size_t namesize;
    cl_device_id devices[10];
    cl_uint num_devices;
    int d;

    clGetDeviceIDs(0, CL_DEVICE_TYPE_ALL, 10, devices, &num_devices);
    printf("%d devices found\n", num_devices);
    for (d = 0; d < num_devices; ++d) {
        clGetDeviceInfo(devices[d], CL_DEVICE_NAME, 500, dname, &namesize);
        printf("Device #%d name = %s\n", d, dname);
    }
    return 0;
}

編集:私はnvidiaのフォーラムで尋ねられているのと本質的に同じ質問を見つけました。残念ながら、唯一の答えは「これは間違ったフォーラムです」という形式でした。

4

9 に答える 9

3

GPUリソ​​ースはデスクトップセッション(ログイン画面を表示している場合でも常に存在します)によって所有されていると思います。そのため、リモートセッションでは使用できません。アクセス許可を変更して問題を強制すると、システムが破壊され、問題が発生する可能性があります。

画面共有を実行して、Macにリモートアクセスするのではなく試しましたsshか?そうすれば、通常どおりデスクトップでアプリを実行して、結果を確認できます(ネットワーク接続によっては、ある程度の遅延が発生する可能性があります)。

于 2010-03-19T01:58:19.900 に答える
2

このフォーラムスレッドによると、WindowsではGPUへのリモートアクセスが不可能なようです。

その投稿はMacではなくWindowsに関するものであり、したがってこの質問に直接対処するものではありません。まだ誰も答えを出していないので、これは私がこれまでに見つけた最も関連性のある情報です。

于 2010-01-15T15:51:20.223 に答える
2

この投稿を見つけるまで、Ubuntuで同じ問題が発生しました: http://dhruba.name/2012/11/09/opencl-cookbook-running-remote-multi-gpu-opencl-computations-over-ssh-on-ubuntu -or-debian-using-amd-catalyst-drivers/

私にとってうまくいったのは次の行でした:

export COMPUTE=:0

リモート ssh ログインでそれを入力した後、clinfoは両方のデバイス (CPU と GPU) を正しく表示しました。

于 2013-01-30T00:10:23.500 に答える
1

VNCを試しましたか?過去にWindowsマシンでGPUを使用するには、VNCを使用する必要があることを知っています。Windowsのリモートデスクトップは、ローカルのグラフィックカードを使用しているため、機能しません。

于 2012-03-07T03:39:17.143 に答える
1

ssh しようとしているときのマシンのステータスは何ですか? 私の Mac では、ログイン画面しか表示されていない場合は ssh で接続できず、ユーザー アカウントがデスクトップでログインしている場合は、ssh によって呼び出されたプログラムが GPU にアクセスできます。自分のマシンで新しいユーザー アカウントをまだ作成していません。アカウントの自動ログインを設定してから、スクリーンセーバーから復帰するためにパスワードのみを要求することができます。これにより、許容できるセキュリティが得られ、ユーザー アカウントが GPU にアクセスできることが保証されます。

于 2010-03-19T02:25:31.853 に答える
0

ちょうど昨日、SSH経由で仕事用コンピューター(OS X 10.8.2)にログインし、openclプログラムはGPUでうまく機能しました。問題の理由は1つだけだと思います。それは、GPUハードウェアにアクセスするための不十分な権利です。管理者権限を持つユーザーとしてログインするか、sudoを介してプログラムを実行してみてください。

于 2012-10-07T18:40:24.233 に答える
0

ローカルとリモートで同時にログインしようとしましたか? GPU の所有権がローカルの GUI コンソール ユーザーに関連付けられていることが問題であり、ssh 経由でリモート アクセスする必要がある場合、これは機能するはずです。コンピューターが別のユーザーによって使用されない限り、ローカル ログインが置き換えられます。

于 2010-11-25T13:39:08.450 に答える
0

sudo を使用してみてください。GPU は、オペレーティング システムにとって単なる別のデバイスです。

于 2010-12-05T19:31:57.550 に答える
-2

OK、Snow Leopard や OpenCL について Jack のことは知りませんが...

Mac デスクトップは XWindows のバージョンに基づいていると聞いたことがあります。その場合、この記事: http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=19 で、「セキュリティ設定を変更して X へのリモート セッション アクセスを許可する方法」について説明しています。システム上で実行されているサーバー」。 役立つかもしれません。

その記事は ATI Stream アプリケーション (OpenCL の代わり) と Linux (MacOS の代わり) に関するものなので、役に立たないかもしれませんが、自分で見て判断してください。

于 2010-01-18T22:07:31.973 に答える