Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_CUDA.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.04 Mб
Скачать
      1. Проверка правильности установки

Версию компилятора, входящего в инструментарий CUDA Toolkit, можно проверить, набрав в командной строке “nvcc –V” или “nvcc --version”. Примеры CUDA SDK поставляются в двух вариантах: исходном и откомпилированном. Для проверки правильной конфигурации GPU и программного обеспечения рекомендуется запустить пример bandwidthTest, расположенный в каталоге “NVIDIA GPU Computing SDK\C\bin\win32\Release” (для 64-битных версий ОС Windows – в каталоге “NVIDIA GPU Computing SDK\C\bin\win64\Release”).

Если все установлено правильно, то получится результат, представленный на рис. 1.3.

Рис.. 1.3. Измерение пропускной способности памяти примером bandwidthTest для проверки правильности установки инструментария CUDA.

Вторая строка, содержащая “device 0”, подтверждает обнаружение CUDA-совместимого устройства, а строка “Test PASSED” подтверждает успешное прохождение всех тестов данного примера. В случае несовместимости GPU будет выведено сообщение “no CUDA-capable device is available”.

      1. Компиляция примеров

Файлы проектов CUDA SDK разработаны так, чтобы компиляция осуществлялась одним нажатием. При использовании среды разработки Microsoft Visual Studio 2005 (или аналогично Visual C++ 2005 Express) используются файлы *.sln, а в случае Microsoft Visual Studio 2008 (или аналогичной Express-версии) – файлы *_vc90.sln. В состав SDK входят как отдельные файлы проектов для каждого примера, так и общий под названием Release.sln (Release_vc90.sln).

В качестве примера предлагается скомпилировать CUDA-проект с названием «bandwidthTest», исходный код которого находится в каталоге “NVIDIA GPU Computing SDK\C\src\bandwidthTest”. При этом результирующий исполняемый файл будет расположен в “NVIDIA GPU Computing SDK\C\bin\win32\Debug” (или в …\win64\Debug для 64-битных версий ОС Windows).

Среда из серии Microsoft Visual C++ Express не способна скомпилировать 64-битную версию программы. Поэтому в случае использования ее на 64-битной версии ОС Windows необходимо сконфигурировать проект в 32-битном режиме.

Все проекты примеров CUDA SDK имеют четыре заранее подготовленных конфигурации: Debug, Release и две аналогичных конфигурации с эмуляцией GPU: EmuDebug и EmuRelease. Последние два варианта позволяют вести разработку в отсутствие совместимого GPU. Некоторые примеры, в частности simpleD3D9, требуют наличия установленного пакета DirectX SDK и настройки в Visual Studio соответствующих путей. Детали такой настройки имеются в документации DirectX SDK.

Большинство примеров используют вспомогательную библиотеку Сutil, исходный код которой расположен в каталоге “NVIDIA GPU Computing SDK\C\common\src”. Конфигурациям Release и Debug в 32-битном и 64-битном вариантах соответствуют следующие имена статической и динамической библиотек: cutil32, cutil32D, cutil64, cutil64D. Файлы проекта библиотеки Сutil расположены в каталоге “NVIDIA GPU Computing SDK\C\common\”, а результаты ее компиляции сохраняются в подкаталоге “lib”. Эта библиотека реализует следующие функции:

  • разбор аргументов командной строки;

  • чтение/запись бинарных файлов и изображений в формате PPM;

  • сравнение массивов данных (обычно используется для сравнения результатов, полученных на CPU и GPU);

  • таймеры;

  • макросы для проверки кодов ошибок;

  • проверка конфликтов банков разделяемой памяти.

Библиотека Сutil не входит в инструментарий CUDA Toolkit и поддержка по ней не осуществляется. Единственная ее задача – быть удобным инструментом для написания краткого платформо-независимого кода примеров.