Xavier agx / memory frequency as reported by cudaGetDeviceProperties

I’m working on an xavier agx / 32gb. The nvpmodel is set to MAXN (running jetson_clocks does not change the outcome).

cat /sys/kernel/debug/bpmp/debug/clk/emc/rate

returns 2133000000 (Hz) which is expected, and which together with the 256 bit bus width translates to the advertised 137GB/s memory bandwidth.

However, if I print the memoryClockRate obtained through cudaGetDeviceProperties the result is 1377000 (KHz) independently of the nvpmodel and/or jetson_clocks. So the implied memory bandwidth is not 137GB/s but only 88GB/s.

Given that CPU and GPU use the same physical memory, I would assume that the bus width and frequencies are the same.

Is there something wrong with the way I set the memory frequency + what is reported by /sys/kernel/debug/bpmp/debug/clk/emc/rate or is cudaGetDeviceProperties giving wrong results?

best regards, Lukas Wirz

Hi Lukas ,

Have you explored this page already on how to set frequency ?

2133000000 (Hz) looks correct for xavier agx 32gb.

1377000(Khz) looks like the GPU clock rate that you should get. What is the out of ./deviceQuery on you device ?

Yes, I know that page. It does not matter how I set the frequency.

deviceQuery unsurprisingly reports the same result I was seeing before:

root@x221-xavier:/usr/local/cuda/samples/1_Utilities/deviceQuery# echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
root@x221-xavier:/usr/local/cuda/samples/1_Utilities/deviceQuery# echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/state
root@x221-xavier:/usr/local/cuda/samples/1_Utilities/deviceQuery# echo 1866000000 > /sys/kernel/debug/bpmp/debug/clk/emc/rate
root@x221-xavier:/usr/local/cuda/samples/1_Utilities/deviceQuery# cat /sys/kernel/debug/bpmp/debug/clk/emc/rate
root@x221-xavier:/usr/local/cuda/samples/1_Utilities/deviceQuery# ./deviceQuery 
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "Xavier"
  CUDA Driver Version / Runtime Version          10.2 / 10.2
  CUDA Capability Major/Minor version number:    7.2
  Total amount of global memory:                 31929 MBytes (33479491584 bytes)
  ( 8) Multiprocessors, ( 64) CUDA Cores/MP:     512 CUDA Cores
  GPU Max Clock rate:                            1377 MHz (1.38 GHz)
  Memory Clock rate:                             1377 Mhz
  Memory Bus Width:                              256-bit

Hi Lukas,

I suspect , cudaDeviceProp::memoryClockRate might be broken on Jetson , Let me investigate.

For memory bandwidth you should refer to /sys/kernel/debug/bpmp/debug/clk/emc/rate

Are there any updates about that?

Hi lnwirz,

cudaDeviceProp::memoryClockRate is reporting wrong value on Jetson . We are targeting a fix in the upcoming release

Please rely on /sys/kernel/debug/bpmp/debug/clk/emc/rate for memory bandwidth


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.