CUDA, как написать код для переключения параметров dlcm = cg / ca l1 кеша ptxas?

У меня есть несколько ядер CUDA, которые выполняют много операций, включая загрузку / хранение глобальной / разделяемой памяти. В последние дни я обнаружил, что производительность этих ядер различна, когда я компилирую с помощью dlcm = cg или dlcm = ca ptxasoptions (нужно ли включать кэш L1).
Проблема в том, что я могу реализовать конфигурацию кэша l1 в коде CUDA вместо перекомпиляции ядра?

GPU: тельса P4

Я попробовал API времени выполнения cudaDeviceSetCacheConfig, но ничего не получил.

Кроме того, я искал на некоторых форумах и нашел ответ на использование инструкций PTX для глобальной загрузки памяти (ld.cg), после чего я использую инструменты Nvidia objdump для вывода sass-кода из двух кубинов ядра, скомпилированных с помощью dlcm = cg и dlcm. = ca, и обнаружил, что за исключением ptxasoptions в начале (cg против ca), остальная часть кода sass одинакова, но при запуске двух ядер все еще существует огромный разрыв в производительности.

cuobjdump -sass от dlcm = cg:

 1
2 member kernel1.a:common.cu.o:
3
4 Fatbin ptx code:
5 ================
6 arch = sm_61
7 code version = [6,0]
8 producer = cuda
9 host = linux
10 compile_size = 64bit
11 compressed
12 ptxasOptions = -dlcm=cg -warn-spills --compile-only
13
14 Fatbin elf code:
15 ================
16 arch = sm_61
17 code version = [1,7]
18 producer = cuda
19 host = linux
20 compile_size = 64bit
21 compressed
...SAME SASS CODE...

cuobjdump -sass от dlcm = ca:

 1
2 member kernel2.a:common.cu.o:
3
4 Fatbin ptx code:
5 ================
6 arch = sm_61
7 code version = [6,0]
8 producer = cuda
9 host = linux
10 compile_size = 64bit
11 compressed
12 ptxasOptions = -dlcm=ca -warn-spills --compile-only
13
14 Fatbin elf code:
15 ================
16 arch = sm_61
17 code version = [1,7]
18 producer = cuda
19 host = linux
20 compile_size = 64bit
21 compressed
...SAME SASS CODE...

-2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]