Вопросы по теме 'ptx'
Почему этот NVIDIA CUDA PTX не работает должным образом?
У меня есть этот код, который пытается добавить два вектора с помощью рукописной функции PTX:
//kernel.cu
#include <stdio.h>
#include <cuda.h>
int main()
{
CUdevice device;
CUcontext context;
CUmodule module;...
69 просмотров
schedule
13.11.2021
Неустранимая ошибка nvcc -ptx file.cu: файл не найден
Я пытаюсь создать код .ptx, используя nvcc для файлов .cu. Для некоторых это работает, а для некоторых выдает ошибку «файл не найден»:
macair93278:matrixMul r8t$ nvcc -ptx matrixMul.cu
matrixMul.cu:36:10: fatal error: 'helper_functions.h' file...
413 просмотров
schedule
05.04.2022
Код CUDA PTX% envreg ‹32› специальные регистры
Я попытался запустить ассемблерный код PTX, сгенерированный ядром .cl, с помощью API драйвера CUDA. Я предпринял следующие шаги (стандартная процедура opencl):
1) Загрузить ядро .cl
2) JIT скомпилировать его
3) Получите скомпилированный...
552 просмотров
schedule
19.04.2022
cuda - минимальный пример, высокое использование регистра
Рассмотрим эти 3 тривиальных минимальных ядра. Их реестр используется намного выше, чем я ожидал. Почему?
А:
__global__ void Kernel_A()
{
//empty
}
соответствующий ptx:
ptxas info : Compiling entry function '_Z8Kernel_Av'...
1317 просмотров
schedule
04.05.2022
PTX — что такое CTA?
Я изучаю PTX и не понимаю, чем CTA (массив вычислительных потоков) отличается от блока CUDA.
Это одно и то же? Мне кажется, что пока (я только в начале документа PTX) они как раз одинаковы
4399 просмотров
schedule
05.05.2022
Cuda подписал 128-битную ошибку умножения
Я думаю, что обнаружил проблему при выполнении 128-битного умножения со знаком в cuda PTX с использованием целых чисел со знаком. Вот мой пример кода:
long long result_lo, result_hi;
asm(" mul.lo.s64 %0, 0, -1; \n\t" // 0 * -1 = 0
"...
493 просмотров
schedule
15.05.2022
Невозможно связать объектные файлы CUDA, созданные из промежуточного представления CUBIN.
Из документации NVIDIA , когда генерируется PTX, CUBIN или FATBIN, код хоста удаляется из файла. Теперь у меня есть код хоста (main.cu) и код устройства (shared.cu). При компиляции каждого файла в *.o с использованием опции nvcc nvcc -c...
908 просмотров
schedule
03.07.2022
Некоторые встроенные функции с добавлением `_sync()` в CUDA 9; семантика одинаковая?
В CUDA 9 у nVIDIA, похоже, появилось новое понятие «совместных групп»; и по какой-то не совсем понятной мне причине __ballot() теперь (= CUDA 9) устарел в пользу __ballot_sync() . Это псевдоним или семантика изменилась?
... аналогичный вопрос...
474 просмотров
schedule
05.07.2022
Как проверить переполнение целочисленной арифметики в CUDA?
В CUDA, как я могу определить, была ли моя последняя целочисленная арифметическая операция переполнена/переполнена или нет? Могу ли я получить значение флага переполнения?
442 просмотров
schedule
13.07.2022
Можно ли поместить инструкции по сборке в код CUDA?
Я хочу использовать ассемблерный код в коде CUDA C, чтобы уменьшить затраты на выполнение, как мы делаем, используя asm в программировании на C.
Является ли это возможным?
1498 просмотров
schedule
13.08.2022
примитивный тип данных в ptx
__device__ __inline__ double ld_gbl_cg(const double *addr) {
double return_value;
asm("ld.global.cg.f64 %0, [%1];" : "=d"(return_value) : "l"(addr));
return return_value;
}
Приведенный выше код взят отсюда:...
500 просмотров
schedule
09.09.2022
Буфер переменной длины PTX в разделяемой памяти
Я пытаюсь реализовать ядро глобального сокращения в PTX, которое использует общую память для сокращения в блоке потока (как и все примеры CUDA C). В CUDA C on есть возможность определить массив переменной длины в разделяемой памяти с
extern...
442 просмотров
schedule
27.07.2023
как найти активные смс?
Есть ли способ узнать количество свободных/активных SM? Или хотя бы прочитать значения напряжения/мощности или температуры каждого SM, по которым я могу узнать, работает он или нет? (в режиме реального времени, пока какая-то работа выполняется на...
703 просмотров
schedule
20.12.2022
Cuda PTX регистрирует объявление и использование
Я пытаюсь уменьшить количество используемых регистров в своем ядре, поэтому решил попробовать встроенный PTX.
Это ядро:
#define Feedback(a, b, c, d, e)...
787 просмотров
schedule
04.12.2022
Лучше понять режимы кэширования хранилища PTX
Я просматриваю таблицу режимов кэширования инструкций Store в соответствии с спецификацией PTX ISA (для PTX v2 ). Он предоставляет подробную информацию о четырех режимах кэширования:
.wb : Кэшировать обратную запись для всех связанных...
291 просмотров
schedule
28.10.2022
Простое добавление векторов в Inline PTX CUDA
Я пытаюсь сделать простой код, который будет добавлять V1 (вектор) к V2 и сохранять значение в V3. Это работает в CUDA, но я не могу написать его в PTX, кто-нибудь может помочь?
__global__ void addKernelPTXv4(float4 *cc, const float4 *aa, const...
282 просмотров
schedule
13.03.2023
Что содержат специальные регистры% envregN?
Я прочитал: CUDA PTX code% envreg ‹32› специальные регистры . Автор сообщения удовлетворился тем, что не пытался рассматривать PTX, происходящий из OpenCL, как обычный CUDA PTX. Но - их вопрос о %envN регистрах не получил должного ответа.
Марк...
37 просмотров
schedule
23.07.2023
Явно избыточные операции в дизассемблированном микрокоде CUDA
У меня есть следующее ядро, выполняющее простое присвоение матрицы глобальной памяти in матрице глобальной памяти out :
__global__ void simple_copy(float *outdata, const float *indata){
int x = blockIdx.x * TILE_DIM + threadIdx.x;
int...
332 просмотров
schedule
11.11.2023