Вопросы по теме 'ptx'

Могу ли я выполнить предварительную выборку определенных данных для определенного уровня кэша в ядре CUDA?
Я понимаю, что графические процессоры Fermi поддерживают предварительную выборку в кэш L1 или L2. Однако в справочном руководстве CUDA я ничего не могу найти об этом. Долги CUDA позволяют моему коду ядра предварительно выбирать определенные данные...
1791 просмотров
schedule 18.06.2022

Свойства устройства CUDA и вычислительные возможности при компиляции
Предположим, у меня есть код, который позволяет пользователю передать threads_per_block для вызова ядра. Затем я хочу проверить, действителен ли ввод (например, ‹=512 для вычислительных возможностей CC ‹2.0 и 1024 для CC >=2.0). Теперь мне...
637 просмотров
schedule 14.11.2022

Синтаксис встроенного кода PTX для CUDA
Как написано в документе Nvidia Inline PTX Assembly, грамматика для использования встроенной сборки: asm("temp_string" : "constraint"(output) : "constraint"(input)); Вот два примера: asm("vadd.s32.s32.s32 %0, %1.h0, %2.h0;" : "=r"(v) : "r"(a),...
1253 просмотров
schedule 11.07.2023

Стек устройств CUDA и синхронизация; Инструкция SSY
Редактировать: этот вопрос представляет собой переработанную версию оригинала, поэтому первые несколько ответов могут больше не иметь значения. Мне любопытно, какое влияние вызов функции устройства с принудительным отсутствием встраивания оказывает...
1163 просмотров
schedule 02.01.2023

Реализация натурального логарифма, когда доступен только логарифм по основанию 2
Я пытаюсь реализовать натуральный логарифм с PTX. PTX изначально предоставляет только lg2.approx.f32 , который реализует логарифм по основанию 2. Таким образом, применяя простую математику, можно получить натуральный логарифм, просто умножив...
737 просмотров
schedule 27.01.2023

Перегрузка функции перемешивания CUDA делает оригинальные невидимыми
Я пытаюсь реализовать свою собственную 64-битную функцию перемешивания в CUDA. Однако, если я сделаю это так: static __inline__ __device__ double __shfl_xor(double var, int laneMask, int width=warpSize) { int hi, lo; asm volatile(...
652 просмотров
schedule 11.04.2023

cuda: встраивание функций устройства и различные файлы .cu
Два факта: CUDA 5.0 позволяет компилировать код CUDA в разные файлы объектов для последующего связывания. Архитектура CUDA 2.x больше не встраивает функции автоматически. Как обычно в C/C++, я реализовал функцию __device__ int foo() в...
4005 просмотров
schedule 25.10.2022

Нулевой размер параметра внутренней структуры LLVM NVPTX
Я получаю непонятное исключение при загрузке сборки PTX, сгенерированной серверной частью LLVM NVPTX. (Я загружаю PTX из ManagedCuda — http://managedcuda.codeplex.com/ ) ErrorNoBinaryForGPU: This indicates that there is no kernel image available...
332 просмотров
schedule 14.10.2023

nvcc: фатальная ошибка: параметр --cubin (-cubin) не разрешен при компиляции для нескольких экземпляров кода GPU.
При попытке скомпилировать модуль графического процессора OpenCV 2.4.8 с VS2010 на машине Win7 x64 с GTX760, CUDA v5.0 после каждой процедуры сборки объекта появляется следующая ошибка: nvcc: фатальная ошибка: параметр --cubin (-cubin) не разрешен...
596 просмотров
schedule 12.12.2022

скомпилировать постоянный массив памяти в немедленное значение в CUDA
Я пишу код для аппроксимации функции с использованием степенных рядов и хотел бы использовать инструкцию #pragma unroll и FMA, например: __constant__ double coeff[5] = {1.0,2.0,3.0,4.0,5.0}; /* constant is fake here */ __device__ double...
1204 просмотров
schedule 10.06.2022

Почему компилятор OpenCL Nvidia (nvcc) не использует регистры дважды?
Я выполняю небольшой тест OpenCL с использованием драйверов Nvidia, мое ядро ​​​​выполняет 1024 фьюза, умножая и добавляя, и сохраняю результат в массиве: #define FLOPS_MACRO_1(x) { (x) = (x) * 0.99f + 10.f; } // Multiply-add #define...
445 просмотров
schedule 18.06.2023

Как мне получить NVVM IR (LLVM IR) из .cu-файла и как скомпилировать NVVM IR в бинарник?
У меня есть программа CUDA C/C++ для CUDA 7.5. И как известно: libNVVM Library — оптимизирующая библиотека компилятора, генерирующая PTX из NVVM IR. Я могу получить PTX, используя: nvcc -ptx <file>.cu -o <file>.ptx Но как я могу...
2251 просмотров
schedule 03.08.2023

Обработка массива CUDA как единого объекта
Я бьюсь головой о стену, пытаясь решить эту проблему уже около месяца, и ни мои навыки C, ни мое гугл-фу не были достаточно сильны, чтобы найти решение. Один из моих любимых сторонних проектов был и остается попыткой найти палиндром для числа 196 с...
79 просмотров
schedule 28.08.2022

Как понять результат анализа SASS в CUDA/GPU
Я использовал cuobjdump, одну из бинарных утилит CUDA, для генерации кода SASS, примеры результатов приведены ниже. Эти коды пытаются загрузить из глобальной памяти. /*0028*/ IMAD R6.CC, R3, R5, c[0x0][0x20]; /*0030*/ IMAD.HI.X R7, R3, R5,...
1859 просмотров
schedule 04.06.2022

Каковы минимальные вычислительные возможности для компиляции CUDA, поддерживаемые компилятором LLVM?
Исходный файл CUDA можно скомпилировать в формат PTX с помощью компилятора LLVM с помощью команды clang -Xclang -I$LIBCLC/include/generic -I$LIBCLC/include/ptx -Dcl_clang_storage_class_specifiers -O3 cudaFile.cu -S -o ptxOutputFile.ptx...
141 просмотров
schedule 21.06.2023

Что на самом деле означает %warpid в CUDA PTX?
В CUDA PTX есть специальный регистр, в котором хранится индекс деформации потока: %warpid . Теперь спецификация говорит: Обратите внимание, что %warpid является изменчивым и возвращает местоположение потока в момент чтения, но его значение...
343 просмотров
schedule 04.11.2022

Может ли мой код ядра сказать, сколько общей памяти у него есть?
Возможно ли, чтобы исполняемый код CUDA на стороне устройства знал, сколько (статической и/или динамической) общей памяти выделено каждому блоку работающей сетки ядра? На стороне хоста вы знаете, сколько разделяемой памяти было (или будет иметь) у...
409 просмотров
schedule 26.11.2022

CUDA компилирует несколько файлов .cu в один файл
Я переношу некоторые вычисления с C# на CUDA. В С# есть много классов, которые я хочу портировать, для каждого класса С# я создаю файлы .cu и .cuh в своем проекте CUDA. Все классы связаны, и все они используются в расчетах. Мне нужно сохранить...
506 просмотров
schedule 16.12.2022