2016-12-12 9 views
0

私はEC2インスタンスを持っています。私は2つの質問持ってAMD対NVIDIA。彼らはOpenCLのサポートの点でどのように区別されますか?

g2.2xlarge Instance. 
Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz 
NVIDIA GRID GPU (Kepler GK104) with 
Ubuntu 14.04 - 64 bit. 

:このシステムでCUDAツールキットをインストールした後

1.clinfoを使用しているとき、私は次の出力を持っている:それは仕様があるのです

clinfo: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by clinfo) 

Platform Version:    OpenCL 1.2 CUDA 8.0.46 
Platform Name:     NVIDIA CUDA 
Platform Vendor:     NVIDIA Corporation 

Number of devices:    1 
    Device Type:     CL_DEVICE_TYPE_GPU 
    Name:       GRID K520 
    Vendor:      NVIDIA Corporation 
    Device OpenCL C version:  OpenCL C 1.2 
    Driver version:    367.57 
    Profile:      FULL_PROFILE 
    Version:      OpenCL 1.2 CUDA 
//with other info too which I can paste if required. 

私の質問です:これは良い練習ですか? OpenCLでコーディングするときにGPUを使用しますか?

2.また、AMD APP SDKをインストールした場合はどうなりますか? OpenCLを使ってNvidiaグラフィックカードを使うことができるのでしょうか、それともIntel CPUだけを使うのでしょうか?

私は同じスペックを持つ別のEC2インスタンス上でAMD APP SDKをインストールし、clinfoから次を見つけた:

Platform Version:    OpenCL 1.2 AMD-APP (1214.3) 
Platform Name:     AMD Accelerated Parallel Processing 
Platform Vendor:     Advanced Micro Devices, Inc. 

Number of devices:    1 
    Device Type:     CL_DEVICE_TYPE_CPU 
    Name:       Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz 
    Vendor:      GenuineIntel 
    Device OpenCL C version:  OpenCL C 1.2 
    Driver version:    1214.3 (sse2,avx) 
    Profile:      FULL_PROFILE 
    Version:      OpenCL 1.2 AMD-APP (1214.3) 

それはOpenCLのが唯一のCPUを使用できるようになることを意味しています。 GPU(nVidia)は決して使用されませんか?このような場合は、OpenCLでGPUを使用するようにnVidia CUDAツールキットに戻す必要がありますか、それとも他の方法/より優れた方法ですか?

2人のうち、どちらを使うべきですか? CUDAツールキット?またはAMD APP SDK?私の目的は、あらゆる種類のGPUでOpenCLクロスプラットフォームを実行することです。

+1

「NVIDIA」と「OpenCL support」を同じ文章に入力するのは面白いです。 –

+0

あなたはNvidiaデバイスでOpenCLを実行できないと言っていますか? –

答えて

1

複数のOpenCLプラットフォームをインストールすることができます(NVIDIA CUDA、AMD APP、Intel)。 GPU用の実際のOpenCL実装は、ディスプレイドライバの一部です。 AMD APPには、CPU(AMDまたはIntel)用のOpenCLドライバも付属しています。

Appleには独自のOpenCLプラットフォームがあり、マシンにインストールされているCPUとGPUをサポートする必要があります。

サーバーでNVIDIA GPUを使用する場合は、おそらくNVIDIA CUDAプラットフォームを使用する必要がありますが、AMD APPも同様に使用することが可能であると主張する人もいます。理論的には、NVIDIA OpenCLランタイムドライバをインストールしている限り、どのプラットフォームでも動作するはずです。

+0

リストの2番目の項目の参照はありますか?私は、AMD APP SDKでNVIDIA GPUをうまく使用することができました。ドキュメント、サンプル、ライブラリ、ツールを除き、これらのSDKはすべて同じです。使用可能な実際のプラットフォームは、システムにインストールされているドライバによって決まります。 KhronosサイトのヘッダーファイルとICDソースを使用して、SDKなしでOpenCLを使用できます。 –

+0

SDKなしでOpenCLを使用する方法を教えてください。あなたが私を紹介できる適切なチュートリアルを知っていますか?またはいくつかの例?また、NVIDIA GPUをAMD APP SDKで使用できるという主張についても参考にしていただければ幸いです。AMD APP SDKをインストールすると、私にとって「clinfo」はNvidia GPUを識別しないためです。しかし、CUDAツールキットをインストールした後は、NVIDIA GPUを特定します。 –

+0

@void_ptr NVIDIA GPUでAMD APPを使用しようとしたことはありません。あなたが言うように、実際の実装はディスプレイドライバにあるので、NVIDIAディスプレイドライバがインストールされているとおそらく可能です。しかし、この質問を投稿したユーザーは、AMD APPを使用した後、NVIDIA GPUが表示されません(3番目の印刷物を参照)。また、NVIDIA CUDA SDKは、どのマシンにもCPUをOpenCLデバイスとして登録していません。私の答えを修正します。 –

関連する問題