mexcuda

Скомпилируйте MEX-функцию для вычисления графического процессора

Синтаксис

mexcuda filenames
mexcuda
mexcuda option1 ... optionN filenames

Описание

пример

mexcuda filenames компиляции и исходные файлы ссылок в разделяемую библиотеку вызвали файл MEX, исполняемый файл из MATLAB®. Функция компилирует файлы MEX записанное использование среды CUDA® C ++ с компилятором NVIDIA® nvcc, позволяя файлам задать и запустить ядра графического процессора. Кроме того, mexcuda функция представляет API графического процессора MEX, чтобы позволить файлу MEX читать и писать gpuArrays.

mexcuda является расширением функции mex MATLAB. Только подмножество компиляторов, поддержанных mex, поддерживается для mexcuda. Поддерживаемые компиляторы зависят от версии Инструментария CUDA, поддержанной MATLAB. Можно проверять, какая версия Инструментария CUDA MATLAB требует использования gpuDevice. Для получения дополнительной информации об Инструментарии CUDA, см. Инструментарий CUDA.

пример

mexcuda option1 ... optionN filenames сборки с заданными опциями сборки. Аргументы option1 ... optionN добавляют или заменяют конфигурацию сборки mexcuda по умолчанию. Можно использовать большинство опций, доступных в mex с mexcuda.

Примеры

свернуть все

Скомпилируйте простую MEX-функцию, чтобы создать функциональный myMexFunction из исходного файла C++ CUDA.

mexcuda myMexFunction.cu

Исходный файл в качестве примера доступен в matlabroot/toolbox/distcomp/gpu/extern/src/mex/mexGPUExample.cu.

Используйте многословный режим, чтобы отобразить компиляцию и команды ссылки и другую информацию, полезную для поиска и устранения неисправностей.

mexcuda -v myMexFunction.cu

Скомпилируйте и соедините несколько исходных файлов с одной командой.

mexcuda myMexFunction.cu otherSource1.cpp otherSource2.cpp

Сначала скомпилируйте, затем соединитесь, чтобы создать функцию.

mexcuda -c myMexFunction.cu
mexcuda myMexFunction.obj

Первая строка компилирует к myMexFunction.obj (Windows®) или myMexFunction.o (UNIX®) и вторые ссылки, чтобы создать функциональный myMexFunction.

Скомпилируйте код, который использует динамический параллелизм, задавая ядра, которые запускают другие ядра.

mexcuda -dynamic myMexFunction.cu

Скомпилируйте MEX-функцию, которая использует библиотеку примитивов CUDA изображений, npp, который установлен в C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64\nppi.lib.

mexcuda '-LC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64' -lnppi myMexFunction.cu 

Входные параметры

свернуть все

Одни или несколько имен файлов, включая имя и расширение файла, заданное как вектор символов. Если файл не находится в текущей папке, задайте полный путь к файлу. Имена файлов могут быть любой комбинацией:

  • C или исходные файлы языка C++

  • объектные файлы

  • файлы библиотеки

Первый файл исходного кода, перечисленный в filenames, является именем бинарного файла MEX. Чтобы заменить это соглашение о присвоении имен, используйте опцию '-output'.

Типы данных: char

Одна или несколько опций сборки, заданных как одно из этих значений. Опции могут появиться в любом порядке на любую платформу, кроме, где обозначено.

Поддерживается большинство опций, доступных для функции mex. Кроме того, следующие опции также доступны.

ОпцияОписание

-dynamic

Динамический параллелизм: файлы MEX компиляций, которые задают ядра, которые запускают другие ядра.

-G

Сгенерируйте отладочную информацию для кода устройства. Это позволяет продвинуться через строку кода ядра с методической точностью в одной из отладки NVIDIA приложений (NSight или cuda-gdb). Чтобы позволить отладить кода хоста используют -g.

Следующая опция функции mex не поддержана.

ОпцияПричина

-compatibleArrayDims

Использование API обработки большого массива MATLAB неявно, и не может быть заменено.

Все другие опции для mex поддерживаются для mexcuda. См. документацию для mex для деталей.

Введенный в R2015b

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