Описание тега gpu-constant-memory

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

CUDA Constant Memory Best Practices

Я представляю здесь некоторый код __constant__ int array[1024]; __global__ void kernel1(int *d_dst) { int tId = threadIdx.x + blockIdx.x * blockDim.x; d_dst[tId] = array[tId]; } __global__ void kernel2(int *d_dst, int *d_src) { int tId = threadIdx.x…
02 авг '13 в 15:24
1 ответ

Производительность cudaMemcpyToSymbol

У меня есть некоторые функции, которые загружают переменную в постоянную память устройства и запускают функцию ядра. Я заметил, что первый раз, когда одна функция загружает переменную в постоянную память, занимает 0,6 секунды, но следующие загрузки …
14 апр '18 в 08:10
1 ответ

Постоянная ошибка памяти CUDA

Я пытаюсь сделать пример кода с постоянной памятью с CUDA 5.5. У меня есть 2 постоянных массива размером 3000 каждый. У меня есть еще один глобальный массив X размера N. Я хочу вычислить Y[tid] = X[tid]*A[tid%3000] + B[tid%3000] Вот код #include &lt…
07 окт '13 в 04:14
1 ответ

Используя постоянную память печатает адрес вместо значения в cuda

Я пытаюсь использовать постоянную память в коде с постоянным значением памяти из ядра, не используя cudacopytosymbol. #include <iostream> using namespace std; #define N 10 //__constant__ int constBuf_d[N]; __constant__ int *constBuf; __global_…
04 июн '14 в 05:27
2 ответа

Постоянное использование памяти в коде CUDA

Я не могу понять это сам, что является лучшим способом обеспечить постоянную память, используемую в моем ядре. Есть похожий вопрос на http://stackru...r-pleasant-way. Я работаю с GTX580 и собираю только для возможности 2.0. Мое ядро ​​выглядит так _…
1 ответ

При передаче параметра по значению в функцию ядра, куда копируются параметры?

Я новичок в программировании CUDA и у меня есть вопрос. Когда я передаю параметры по значению, например: __global__ void add(int a, int b, int *c) { // some operations } Поскольку переменные a и b передаются в функцию ядра add как скопированное знач…
25 ноя '17 в 11:23
1 ответ

Почему постоянный объем памяти ограничен в CUDA?

В соответствии с "Руководством по программированию CUDA C" постоянный доступ к памяти имеет преимущество только в случае попадания в многопроцессорный постоянный кэш (Раздел 5.3.2.4)1. В противном случае может быть даже больше запросов памяти для по…
21 апр '12 в 05:10
1 ответ

Постоянный кеш против текстурного кеша для широковещательного поведения в CUDA

Меня интересуют различия между постоянным кешем и текстурным кешем для устройств с вычислительной способностью 3.5, особенно в поведении вещания. Когда все потоки в деформациях выдают запрос на один и тот же элемент данных из постоянной памяти, и он…
28 фев '14 в 00:07
1 ответ

Постоянный объем памяти в CUDA

В CUDA, когда я делаю массив в постоянной памяти, как показано ниже __device__ __constant__ float A[n]; делает размер n нужно быть константой? Я думаю, да, потому что компилятор должен знать, если размер n превышает постоянный объем памяти или нет. …
30 июн '14 в 22:44
3 ответа

Выделите постоянную память

Я пытаюсь установить параметры симуляции в постоянной памяти, но без удачи (CUDA.NET). Функция cudaMemcpyToSymbol возвращает cudaErrorInvalidSymbol. Первый параметр в cudaMemcpyToSymbol это строка... Это имя символа? на самом деле я не понимаю, как …
15 мар '10 в 21:15
2 ответа

Ошибка в cudaMemcpyToSymbol при использовании CUDA 5

Эта проблема Я подготовил один пример кода CUDA, используя постоянную память. Я могу успешно запустить это в cuda 4.2, но я получаю "недопустимый символ устройства" при компиляции с использованием CUDA 5. Я приложил пример кода здесь. Код #include &…
18 окт '12 в 05:48
1 ответ

Использование общей и постоянной памяти в CUDA

Я хочу прочитать текстовый файл и сохранить его в массиве. Затем я хочу передать массив с хоста на устройство и сохранить его в общей памяти. Я написал следующий код, но время выполнения было увеличено по сравнению с использованием глобальной памяти…
17 мар '12 в 10:29
1 ответ

Как работает постоянное выделение памяти в CUDA?

Я хотел бы получить некоторое представление о том, как выделяется постоянная память (используя CUDA 4.2). Я знаю, что общий объем доступной постоянной памяти составляет 64 КБ. Но когда эта память фактически выделяется на устройстве? Это ограничение …
0 ответов

CUDA Постоянное использование памяти

У меня есть проект cuda, содержащий следующие файлы Заголовочный файл: Declarations.h Основной файл: main.cpp: #include "Declarations.h" И файл ядра: Kernel.cu: #include "Declarations.h" В main.cpp, Я имею float K1[3*3] который я хочу скопировать в …
23 апр '15 в 14:51
0 ответов

Производительность cmem против текстуры на Паскале

Вопрос 01: Предоставляет ли использование хранения данных в постоянной памяти какое-либо преимущество по сравнению с текстурой в архитектуре Pascal, если частота запросов данных очень высока среди потоков (каждый поток выбирает по крайней мере одну …
13 сен '17 в 00:28
1 ответ

Каковы времена жизни постоянной памяти CUDA?

У меня возникли проблемы с тем, чтобы обернуть голову вокруг ограничений на постоянную память CUDA. Почему мы не можем выделить __constant__ память во время выполнения? Почему мне нужно скомпилировать переменную фиксированного размера с почти глобал…
11 авг '17 в 03:10
1 ответ

CUDA константа памяти

У меня есть массив в постоянной памяти (это глобальная переменная) и получил ссылку на него с помощью вызова функции cudaGetSymbolAddress. Мое ядро ​​работает медленно, когда я использую эту ссылку для извлечения постоянных данных, а не с помощью гл…
17 окт '12 в 11:39
2 ответа

Банки с постоянной памятью CUDA

Когда мы проверяем использование регистра с помощью xptxas, мы видим что-то вроде этого: ptxas info : Used 63 registers, 244 bytes cmem[0], 51220 bytes cmem[2], 24 bytes cmem[14], 20 bytes cmem[16] Интересно, есть ли в настоящее время какая-либо док…
05 сен '12 в 22:30
1 ответ

CUDA постоянные символы памяти

Я использую CUDA 5.0 и у меня есть модули, которые скомпилированы отдельно. Я хотел бы получить доступ к одному и тому же значению в постоянной памяти из всех модулей. Проблема заключается в следующем: когда я определяю символ в каждом модуле, компо…
13 авг '13 в 16:05
1 ответ

Интерпретация выходных данных --ptxas-options=-v

Я пытаюсь понять использование ресурсов для каждого из моих потоков CUDA для рукописного ядра. Я собрал свой kernel.cu подать в kernel.o файл с nvcc -arch=sm_20 -ptxas-options=-v и я получил следующий вывод ptxas info : Compiling entry function '_Z1…
12 сен '12 в 12:29