Cuda “Нello, world”. (Лабораторная работа 1)

Содержание

Слайд 2

Создание проекта в MS Visual Studio… Откройте MS Visual Studio: при

Создание проекта в MS Visual Studio…

Откройте MS Visual Studio:
при первом запуске

появится окно с выбором настроек по умолчанию: выберите настройки в стиле С++ разработчика;
Для создания нового проекта выполните:
File -> New -> Project…
В появившемся окне выберите:
Тип проекта Templates-> Visual C++ -> Win32 -> Win32 Console Application
Заполните имя вашего проекта в поле Name:
Выберите директорию для хранения проекта в поле Location:
Нажмите OK

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 3

Создание проекта в MS Visual Studio... В появившемся окне: Нажмите Next

Создание проекта в MS Visual Studio...

В появившемся окне:
Нажмите Next
Application type: Console

application
Поставьте галочку на Empty project
Остальные галочки снимите
Нажмите Finish
Добавьте новый файл в проект:
Тип файла: Visual C++ -> Code -> C++ File
Name: main.cu

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 4

Создание проекта в MS Visual Studio… Добавьте в файл main.cu следующий

Создание проекта в MS Visual Studio…

Добавьте в файл main.cu следующий код:
#include


#include
__global__ void kernel()
{
printf("Hello, world!\n");
}
int main()
{
kernel<<<2, 2>>>();
cudaDeviceSynchronize();
return 0;
}

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 5

Создание проекта в MS Visual Studio… Настройка подсветки синтаксиса для *.cu

Создание проекта в MS Visual Studio…

Настройка подсветки синтаксиса для *.cu файлов:
Tools

-> Options…
Text Editor -> File Extension
В поле Extension: cu
В поле Editor: Microsoft Visual C++
Нажать Add
Нажать Ok
Закрыть и снова открыть *.cu файлы в редакторе

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 6

Создание проекта в MS Visual Studio… Для того, чтобы подключить компиляцию

Создание проекта в MS Visual Studio…

Для того, чтобы подключить компиляцию CUDA

файлов необходимо выбрать Build Rules / Build Customizations
В появившемся окне выберите пункт с CUDA / CUDA Runtime API

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 7

Создание проекта в MS Visual Studio… Убедитесь, что в свойствах файла

Создание проекта в MS Visual Studio…

Убедитесь, что в свойствах файла main.cu

в разделе Configuration Properties -> General в поле Item Type стоит CUDA C/C++

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 8

Создание проекта в MS Visual Studio… Настройка свойств проекта: В окне

Создание проекта в MS Visual Studio…

Настройка свойств проекта:
В окне Solution Explorer

выберите проект
Project -> Properties
В открывшемся окне:
Configuration Properties -> CUDA C/C++ -> Device
В поле Code Generation можно выбрать, под какую видеокарту компилировать код (аналог CUDA compute capability), напишите compute_20,sm_20
Configuration Properties ->Linker-> General
В поле Additional Library Directories должен быть прописан путь до библиотеки cudart.lib (например, как $(CudaToolkitLibDir))

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 9

Создание проекта в MS Visual Studio Configuration Properties ->Linker->Input Добавьте в

Создание проекта в MS Visual Studio

Configuration Properties ->Linker->Input
Добавьте в список в

поле Additional Dependencies библиотеку cudart.lib
После всех описанных выше настроек можно компилировать программу.
Если программа не скомпилировалась – еще раз внимательно посмотрите на приведенные выше настройки либо обратитесь к преподавателю.
Если на вашей машине установлена карта с поддержкой технологии CUDA, полученную программу можно запустить из Visual Studio и сразу увидеть результат.

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 10

Запуск приложения на кластере… Для входа на кластер необходимо выполнить команду

Запуск приложения на кластере…

Для входа на кластер необходимо выполнить команду mstsc

(меню Пуск -> Run… либо сочетание клавиш Win+R)
В поле Computer введите IP адрес кластера
Нажмите Connect
Введите имя пользователя и пароль
Обратите внимание, что имя пользователя нужно вводить в формате DOMAIN\Login
Для получения реквизитов доступа к кластеру обратитесь к преподавателю

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 11

Запуск приложения на кластере… Зайдите в папку \\isilon\students Создайте там свою

Запуск приложения на кластере…

Зайдите в папку \\isilon\students
Создайте там свою подпапку,

например, “gorshkov“
Скопируйте в нее свое приложение + CUDA библиотеки
Обычно нужна библиотека cudart*.dll, которая лежит в папке bin по пути, куда установился CUDA Toolkit (например, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin, файл cudart32_55.dll)
Запустите HPC Job Manager из пакета Microsoft HPC Pack

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 12

Запуск приложения на кластере… Для создания новой задачи через HPC Job

Запуск приложения на кластере…

Для создания новой задачи через HPC Job Manager:
Actions

-> Job Submission -> New Job…
Раздел Job Details:
Job Name: имя вашей задачи
Job Resources (type of resource): Node
Раздел Edit Tasks:
Добавить новую задачу – Add
Command line: имя исполняемого файла вашего проекта (без путей, только имя)
Working directory: сетевой путь до вашей папки с исполняемым файлом, например, \\isilon\students\gorshkov
Standard output: output.txt
Submit (возможно, потребуется ввести пароль)

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"

Слайд 13

Запуск приложения на кластере… Результат выполнения программы будет сохранен в файле

Запуск приложения на кластере…

Результат выполнения программы будет сохранен в файле ouput.txt:
Hello,

world!
Hello, world!
Hello, world!
Hello, world!
Для того, чтобы запустить задачу еще раз, можно скопировать ее из существующей (правая кнопка мыши на задаче - > Copy…)

Нижний Новгород, 2014

Лабораторная работа №1: CUDA "Hello, World"