jetson xavier memory clock rate

Hi everyone!

(Note: the xavier is in the highest performance mode (nvpmodel -m 0 , jetson_clocks)*)

when i tried to query the memory clock rate and the memory bandwidth of the jetson xavier using the following commands:
cudaGetDeviceProperties(&deviceProp, dev);
printf(“Using Device %d: %s\n”, dev, deviceProp.name);
printf(“Memory Clock Rate (KHz): %d\n”, deviceProp.memoryClockRate);
printf(“Memory Bus Width (bits): %d\n”,deviceProp.memoryBusWidth);
printf(“Peak Memory Bandwidth (GB/s): %f\n\n”,2.0deviceProp.memoryClockRate(deviceProp.memoryBusWidth/8)/1.0e6);

it gave me the following output:
Using Device 0: Xavier
Memory Clock Rate (KHz): 1377000
Memory Bus Width (bits): 256
Peak Memory Bandwidth (GB/s): 88.128000

From the xavier specs , when we are in the highest performace mode(MAXN) i expected the clock rate to be 2.133Mhz, why does it give me only 1.377Mhz??

Hi yairhav, cudaGetDeviceProperties() and deviceQuery don’t always return the maximum memory clock. The nvpmodel defines minimum and maximum clock limits, but the DVFS governor scales within those limits depending on workload (you can disable DVFS with the jetson_clocks script to lock clocks to their maximum limits defined by the active nvpmodel).

Try running sudo tegrastats to get the current memory clock frequency, as it can be variable. You can also read the jetson_clocks script to see the sysfs files the script reads/writes to determine the maximum clocks.