Описание тега dynamic-parallelism
None Динамический параллелизм относится к возможности CUDA для запуска ядра устройства, который должен выполняться из ядра устройства
1
ответ
Ошибка связи динамического параллелизма cuda c
Я пытаюсь связать свою программу динамического параллелизма в CUDA Kepler следующим образом: nvcc -m32 -arch=sm_35 -dc -Xcompiler '-fPIC' DFS_Solving.cu nvcc -m32 -arch=sm_35 -Xcompiler '-fPIC' -dlink DFS_Solving.o -o link.o gcc -shared -Wl,-soname,…
11 мар '15 в 15:31
0
ответов
Почему некоторые дочерние сетки ядра не возвращаются в родительскую сетку мгновенно?
Я пытаюсь использовать динамический параллелизм, запуская ядро <<<1,1>>> ("Контроллер"), которое будет запускать другие вычислительные сетки в зависимости от их результата. Контроллеру нужны результаты вычислений для определения следующего ядра, к…
18 янв '19 в 14:43
2
ответа
CUDA Dynamic Parallelism, bad performance
We are having performance issues when using the CUDA Dynamic Parallelism. At this moment, CDP is performing at least 3X slower than a traditional approach. We made the simplest reproducible code to show this issue, which is to increment the value of…
19 июл '17 в 21:10
1
ответ
Как выполнить реляционное соединение двух контейнеров данных на графическом процессоре (предпочтительно CUDA)?
Что я пытаюсь сделать: На GPU я пытаюсь имитировать соглашения, используемые SQL в реляционной алгебре для выполнения объединений в таблицах (например, Inner Join, Outer Join, Cross Join). В приведенном ниже коде я хочу выполнить Inner Join. Предста…
14 июн '16 в 13:25
3
ответа
Kepler CUDA динамический параллелизм и дивергенция потоков
Существует очень мало информации о dynamic parallelism Кеплер, из описания этой новой технологии, означает ли это, что проблема расхождения потока управления потоком в той же основе решена? Это позволяет recursion и получение ядра из кода устройства…
09 июл '12 в 06:46
1
ответ
"неизвестная ошибка" в первом cudaMalloc, если в ядре присутствует CUBLAS
У меня есть следующие минимальные .cu файл #include <cuda_runtime_api.h> #include <cublas_v2.h> #include <cstdio> __global__ void test() { cublasHandle_t handle = nullptr; cublasCreate(&handle); } int main(int, char**) { void *…
19 сен '16 в 08:15
2
ответа
CMake для создания проекта MSVC CUDA, предназначенного для новых устройств
Мой компьютер имеет GTX 580 (вычислительная способность 2.0). Я хочу скомпилировать исходный код CUDA, использующий динамический параллелизм, функцию, представленную в вычислительных возможностях 3.5. Я знаю, что не смогу запустить программу на свое…
09 июл '14 в 22:09
1
ответ
Доступ к встроенной переменной CUDA в дочернем ядре
Я пытаюсь использовать динамический параллелизм Кеплера для одного из моих приложений. Глобальный индекс потока (в родительском ядре), запускающего дочернее ядро, необходим в дочернем ядре. Другими словами, я хочу получить доступ к встроенным коорди…
02 сен '15 в 14:46
0
ответов
Поддерживает ли nvcc оптимизацию хвостового вызова в динамическом параллелизме?
В разделе C.4.3.1.2 Руководства по программированию CUDA. "Глубина вложения и синхронизации", упоминается: "Оптимизация разрешается, когда система обнаруживает, что ей не нужно резервировать место для состояния родителя в тех случаях, когда родитель…
04 сен '14 в 16:54
1
ответ
Оптимизировать алгоритм, используя динамический параллелизм
У меня есть следующий фрагмент кода, и я экспериментирую с возможностями новой архитектуры Kepler. Ядро вызывается несколько раз в цикле с фиксированным значением NUM_ITERATIONS. Как вы думаете, перенесет ли цикл в родительское ядро, т. Е. Будут ли …
10 апр '14 в 21:13
1
ответ
Cublas не работает в ядре после компиляции в cubin с использованием флага -G с nvcc
У меня есть ядро CUDA, которое выглядит следующим образом: #include <cublas_v2.h> #include <math_constants.h> #include <stdio.h> extern "C" { __device__ float ONE = 1.0f; __device__ float M_ONE = -1.0f; __device__ float ZERO = 0.…
19 авг '15 в 09:50
1
ответ
Распараллелить метод изнутри функции / ядра устройства CUDA
У меня есть уже распараллеленное ядро CUDA, которое выполняет некоторые задачи, требующие частой интерполяции. Так что есть ядро __global__ void complexStuff(...) которая вызывает один или несколько раз эту функцию устройства интерполяции: __devic…
29 янв '14 в 17:38
1
ответ
Имеют ли дочерние ядра, запускаемые ядром, тот же размер деформации, что и ядра, запускаемые хостом?
Когда блок ядра запускается с хоста, он имеет размер деформации 32. Это то же самое для дочерних ядер, запускаемых с помощью динамического параллелизма? Мое предположение было бы да, но я не видел это в документах. Главный вопрос, конечно, таков: ст…
06 июл '15 в 08:29
1
ответ
Как я могу синхронизировать очереди команд на стороне устройства с очередями на стороне хоста? clFinish() и markerWithWaitList выдает неверную ошибку очереди
Я использую функцию динамического параллелизма OpenCL 2.0, и каждый рабочий элемент ставит в очередь другое ядро с одним рабочим элементом. Когда время завершения работы дочернего ядра велико, родительское ядро завершает работу до того, как доче…
02 июл '17 в 13:02
0
ответов
AleaGPU Динамический параллелизм в F#? Как?
Это может быть простой вопрос, но я не смог найти никаких ссылок на эту тему: Как запустить ядро из другого ядра?, Единственный соответствующий пример, с которым я столкнулся, - это пост:( Поддерживает ли Alea GPU динамический параллелизм?), В кот…
02 июл '18 в 13:34
1
ответ
Динамический параллелизм CUDA с драйвером API
Я пытаюсь скомпилировать и связать динамическое ядро и использовать его с API драйвера CUDA на GK110. Я компилирую исходный файл.cu в Visual Studio с флагом кода перемещаемого устройства и compute_35, sm_35 в файл ptx, а затем компоновщик CUDA доб…
07 янв '15 в 22:35
1
ответ
Компиляция.cu файлов с динамическим параллелизмом (CUDA)
Я перешел на новый графический процессор GeForce GTX 980 с cc 5.2, поэтому он должен поддерживать динамический параллелизм. Однако я не смог скомпилировать даже простой код (из руководства по программированию). Я не буду приводить это здесь (не обяз…
09 янв '15 в 00:08
1
ответ
Api cudaMemsetAsync во время выполнения устройства CUDA не работает
Я пытаюсь позвонить cudaMemsetAsync из ядра (так называемый "динамический параллелизм"). Но независимо от того, какое значение я использую, оно всегда устанавливает память в 0. Вот мой тестовый код: #include "cuda_runtime.h" #include "device_launch_…
17 май '17 в 14:58
1
ответ
numba.typeinfer.TypingError: нетипизированное глобальное имя child_launch при использовании динамического параллелизма CUDA в Python ( Anaconda) на графическом процессоре NVIDIA
Мой код здесь: import numpy as np from numbapro import cuda @cuda.autojit def child_launch(data): data[cuda.threadIdx.x] = data[cuda.threadIdx.x] + 100 @cuda.autojit def parent_launch(data): data[cuda.threadIdx.x] = cuda.threadIdx.x cuda.syncthreads…
13 окт '14 в 07:40
1
ответ
Динамический параллелизм - отдельная компиляция: неопределенная ссылка на __cudaRegisterLinkedBinary
Несмотря на то, что я следовал приложению C "Компиляция динамического параллелизма" из "Руководства по программированию CUDA" и приведенным здесь решениям, мне не удается решить возникшую проблему. После компиляции и компоновки (сделать DivideParale…
25 фев '15 в 13:12