Описание тега cuda-driver

API нижнего уровня на языке C для управления вычислительной работой на платформе CUDA на оборудовании NVIDIA GPU.
0 ответов

Каких "удаленных записей" можно ожидать с помощью CU_STREAM_WAIT_VALUE_FLUSH?

Когда вы выполняете операцию ожидания значения с помощью вызова API драйвера CUDA cuStreamWaitValue32(), вы можете указать флаг CU_STREAM_WAIT_VALUE_FLUSH. Вот что говорится в документации: За операцией ожидания следует сбросить невыполненные удален…
20 авг '20 в 17:46
3 ответа

Что заставляет cuLaunchKernel терпеть неудачу с CUDA_ERROR_INVALID_HANDLE?

Я запускаю скомпилированное ядро ​​CUDA, используя cudLaunchKernel()функция API драйвера. Я передаю свои параметры вkernelParams массив и передача nullptr для extra аргумент. К сожалению, это не удается с ошибкой: CUDA_ERROR_INVALID_HANDLE. Почему? …
07 июл '20 в 16:10
1 ответ

Как я могу определить, является ли контекст CUDA основным - дешево?

Вы можете (?) Определить, является ли контекст CUDA основным, вызвав cuDevicePrimaryCtxRetain() и сравнивая возвращенный указатель с имеющимся у вас контекстом. Но - что, если первичный контекст еще никто не создал? Тогда есть ли более дешевый спосо…
13 июл '20 в 01:55
0 ответов

Почему API драйвера позволяет нам обрабатывать PTX так же, как fatbin и cubin через "модули"?

Часть API драйвера CUDA - это обработка "модулей": вы можете, например, загрузить модуль из файла; получить функцию (ядра) из этого модуля, а затем просто запустить ядро. См., Например, пример CUDA "matrixMul_nvrtc". Хотя это кажется вполне разумным…
14 авг '20 в 19:12
0 ответов

При импорте разделяемого дескриптора в виртуальную память CUDA - как вы определяете размер?

CUDA 10.2 представил API управления виртуальной памятью и, в частности, API для экспорта и импорта дескрипторов в различных процессах. Но я не могу найти, как получить размер выделенного фрагмента с учетом его дескриптора - специфичного для CUDA или…
0 ответов

cuMemGetAccess() - неверный тип параметра?

Когда ты cuMemSetAccess(), вы применяете флаг доступа к каждому из нескольких сопоставлений фрагментов физической памяти с диапазонами виртуальной памяти. Эти флаги имеют типCUmemAccess_flags (который имеет значения для запрета доступа, только для ч…
29 авг '20 в 23:04
0 ответов

Связаны ли сопоставления и выделения виртуальной памяти CUDA с контекстом?

Ни один из API виртуальной памяти CUDA (представленных в CUDA 10.2) не принимает контекст CUDA в качестве аргумента; но - некоторые из них косвенно принимают идентификатор устройства. Означает ли это, что они применимы ко всем контекстам устройства?…
2 ответа

Могу ли я получить то, что используется как __nv_nvrtc_builtin_header.h?

Я профилирую ядро, скомпилированное (с отладкой и lineinfo) с помощью библиотеки nvrtc. В результатах профилирования многие образцы указаны как находящиеся в пределах__nv_nvrtc_builtin_header.h. Однако - очевидно, что такого файла на диске нет, и, е…
01 сен '20 в 13:43
0 ответов

Является ли cuModuleLoadFatBinary избыточным с учетом cuModuleLoadData?

Меня озадачивают две функции: CUresult cuModuleLoadData ( CUmodule* module, const void* image ); CUresult cuModuleLoadFatBinary ( CUmodule* module, const void* fatCubin ); в API драйвера CUDA. В описании первой функции сказано, чтоimage может, в час…
01 авг '20 в 11:50
0 ответов

Одноранговый доступ CUDA - устройство против контекста

В API драйвера CUDA у нас есть cuCtxEnablePeerAccess() а также cuCtxDisablePeerAccess(); а в API времени выполнения у нас естьcudaDeviceEnablePeerAccess() а также cudaDeviceDisblePeerAccess(). Предположим, у нас есть устройства D_1 и D_2 с первичным…
20 авг '20 в 22:38
1 ответ

Неожиданный CUDA_ERROR_INVALID_VALUE от cuLaunchKernel()

Я пытаюсь запустить ядро ​​с помощью API драйвера CUDA. Конкретно звоню CUresult CUDAAPI cuLaunchKernel( CUfunction f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int …
16 авг '20 в 12:36
1 ответ

Делают ли cuDevicePrimaryCtxReset () и cudaDeviceReset () одно и то же?

Читая документы CUDA Runtime API и Driver API, кажется, что две функции: CUresult cuDevicePrimaryCtxReset ( CUdevice dev ); __host__ ​cudaError_t cudaDeviceReset ( void ); сделать то же самое (до того, чтобы cudaSetDevice(dev) перед вызовом API сред…
08 июл '20 в 17:09
1 ответ

Что cudaSetDevice() делает со стеком контекста устройства CUDA?

Предположим, у меня есть активный контекст CUDA, связанный с устройством. i, и я сейчас звоню cudaSetDevice(i). Что происходит?: Ничего? Первичный контекст заменяет верх стека? Первичный контекст помещается в стек? На самом деле это кажется непослед…
13 июл '20 в 17:07
0 ответов

Что мне нужно добавить в .travis.yml, чтобы создать ссылку на драйвер CUDA?

Я использую .travis.ymlв библиотеке GitHub для автоматического построения при фиксации. Моя библиотека недавно начала связываться с библиотекой драйверов CUDA, libcuda.so. У меня уже есть .travis.yml с которым я успешно связываюсь с libcudart.so и т…
03 окт '20 в 21:07
0 ответов

В чем разница между 5 уровнями оптимизации драйвера CUDA?

Когда вы используете драйвер CUDA для компиляции кода PTX в SASS, вы можете указать уровень оптимизации: CU_JIT_OPTIMIZATION_LEVEL Уровень оптимизации, применяемый к сгенерированному коду (0–4), при этом 4 - это самый высокий уровень оптимизации по …
06 окт '20 в 00:51
1 ответ

Выполняет ли компилятор CUDA JIT оптимизацию времени компоновки устройства?

До того, как в CUDA 11.2 была введена оптимизация времени соединения (DLTO) устройств, было относительно легко обеспечить прямую совместимость, не слишком беспокоясь о различиях в производительности. Обычно вы просто создаете файл fatbinary, содержа…
10 май '21 в 10:49
0 ответов

<Ubuntu 20.04 LTS> Как установить Cuda для torch 1.8.1 [закрыто]

Я использую ubuntu 20.04 LTS в Windows10. И я собираюсь использовать свой графический процессор в качестве фонарика. Что мне установить?cuda | cuDNN | cuda driverНа самом деле, я не знаю, нужен ли cuDNN. Ниже приведены технические характеристики мое…
21 май '21 в 09:06
0 ответов

неинициализация / повторная инициализация библиотеки nvidia cuda

Мой код использует libcudart.so для выполнения некоторой работы cuda, и в середине работы я хочу иметь возможность перенести его на другую машину с помощью criu. Как мы знаем, libcudart.so/libcuda.so неявно открывает такие устройства, как / dev / nv…
19 окт '21 в 22:12
0 ответов

Почему в описании текстуры runtime-API есть эти дополнительные поля?

API драйвера CUDA поддерживает следующие поля описания текстуры : CUaddress_mode addressMode[3] float borderColor[4] CUfilter_mode filterMode unsigned int flags unsigned int maxAnisotropy float maxMipmapLevelClamp float minMipmapLevelClamp CUfilter_…
28 окт '21 в 01:27
0 ответов

Семантика cuMemAdvise: разные контексты, асинхронность

Читая документацию по cuMemAdvise , я обнаружил, что задаюсь вопросом о двух моментах, один в тексте и один отсутствует в тексте: Делает cuMemAdvise()применить ко всему контексту для указанного устройства? Это не делается явным образом, и функции, з…
15 ноя '21 в 22:39