0

私はOpenCLの初心者です。

ここでリンクされている「OpenCL Bandwidth Test」という名前の NVIDIA OPENCL SDK CODE SAMPLES の 1 つをコンパイルしようとしています ( https://developer.nvidia.com/opencl )。

このサンプルには、「oclBandwidthTest.cpp」という名前のファイルが含まれています。

そして、このファイルは "oclUtils.h" と "shrQATest.h" を参照するので、この 2 つのファイルのパスを makefile に追加しました。

しかし、コンパイルしようとすると、「 'shrLog' 'shrLogEx' 'oclErrorString' への未定義の参照」と表示されます... (多すぎます)。

明日までやらなきゃいけないけど、先週の金曜日からまだ縛られてる。

私は Ubuntu 12.04 で作業しています。すでに SDK 4.2 とデバイス ドライバーをインストールしています。

makefile に含める必要があるもの (ヘッダー ファイルまたはライブラリ) を教えてください。

4

1 に答える 1

-3

II.B. Linux のインストール手順

  1. NVIDIA GPU Computing SDK の OpenCL SDK サンプルを正しく実行するには、CUDA コンピューティング アーキテクチャを備えた GPU が必要です。CUDA-Architecture コンピューティング対応 GPU の完全なリストについては、次のオンライン リストを参照してください: http://www.nvidia.com/object/cuda_learn_products.html

  2. NVIDIA GPU Computing SDK の OpenCL アプリケーションを 32 ビットまたは 64 ビット Linux で実行するには、バージョン 258.19 以降の NVIDIA ディスプレイ ドライバーが必要です。この必要なドライバーは、https ://nvdeveloper.nvidia.com/login.asp?action=login で登録開発者が利用できます。

    ドライバーをインストールする前に、ドライバー インストールのヒント ドキュメントを必ずお読みください: http://www.nvidia.com/object/driver_installation_hints.html

  3. NVIDIA GPU Computing SDK の以前のバージョンをすべてアンインストールします。

  4. OS 用に提供されているインストーラーを実行して、NVIDIA GPU Computing SDK をインストールします。

    OpenCL SDK のデフォルトのインストール フォルダーは次のとおりです。

    Linux $(ホーム)/NVIDIA_GPU_Computing_SDK/

    以下では、SDK がインストールされているパスを と呼びます。


  5. SDK プロジェクトとユーティリティの依存関係のセット全体の 32 ビットまたは 64 ビット (インストール OS に一致)、リリースおよびデバッグ構成をビルドします。を。/OpenCL に移動します。建てる:

    • 「make」と入力して構成をリリースします。
    • 「make dbg=1」と入力して構成をデバッグします。

    最上位で make を実行すると、最初に SDK サンプルで使用される共有および共通のユーティリティ ライブラリがビルドされます (これらのライブラリは便宜上のものであり、OpenCL ディストリビューションの一部ではなく、独自の OpenCL プログラムには必要ありません)。その後、Make は SDK 内の各プロジェクトをビルドします。

  6. /OpenCL/bin/linux/[release|debug] にあるリリースまたはデバッグ ディレクトリからサンプルを実行します。

    • ほとんどの SDK アプリケーションは、基本的な OpenCL プログラム フローを理解するという観点から重要なメッセージをコンソール ウィンドウに出力し、いくつかのアプリケーションは別の OpenGL ウィンドウでグラフィックス出力を生成します。

    • SDK アプリケーションの多くは、プログラムの構造とフロー、および重要な機能のセットアップと実行に必要な時間を全体的に把握するのに役立つタイミング情報を提供します。ただし、SDK のサンプル コードは通常、説明のために簡略化されており、最適化されていません。高度な最適化手法は、この SDK の範囲を超えており、サンプルによって提示されるタイミング情報は、ベンチマークなどの使用を意図したものではありません。

    • さらに、すべてのアプリケーションは、すべてのコンソール情報を、実行可能ファイルと同じディレクトリにあるセッション ログ ファイルに記録します。これらのファイルは、サンプル アプリの名前にちなんで名付けられていますが、拡張子は .txt です。

    • 便宜上、/OpenCL の Makefile を使用して、「make runall」または「make dbg=1 runall」と入力して、すべての SDK サンプルを順番に実行できます。

于 2013-06-10T18:20:43.150 に答える