Closed Null-Ping closed 1 week ago
Both GPU-Z and this Python script do get the correct frequency.
from __future__ import print_function
__author__ = "Zhi-Qiang Zhou"
__copyright__ = "Copyright 2017"
import pyopencl as cl
def openclInfo():
"""Print OpenCL information.
"""
platforms = cl.get_platforms()
print('There are {:d} platform(s) detected:\n'.format(len(platforms)))
print(70 * '-')
for platform_id, platform in enumerate(platforms):
print('Platform: ', platform.name)
print('Vendor: ', platform.vendor)
print('Version: ', platform.version)
print('Number of devices: ', len(platform.get_devices()))
print(' ' + 68 * '-')
for device_id, device in enumerate(platform.get_devices()):
printDeviceInfo(platform_id, device_id, prefix=' ')
print(' ' + 68 * '-')
def printDeviceInfo(platform_id, device_id, prefix=''):
"""Print OpenCL device information.
Args:
platform_id (int): Platform ID
device_id (int): Device ID
prefix (str): Prefix string
"""
platforms = cl.get_platforms()
devices = platforms[platform_id].get_devices()
device = devices[device_id]
print(prefix + 'Device {:d}:'.format(device_id), str(device.name),
'[Type: {:s}]'.format(cl.device_type.to_string(device.type)))
print(prefix + ' Device version: ', device.version)
print(prefix + ' Driver version: ', device.driver_version)
print(prefix + ' Vendor: ', device.vendor)
print(prefix + ' Available: ', bool(device.available))
print(prefix + ' Address bits: ', device.address_bits)
print(prefix + ' Max compute units: ', device.max_compute_units)
print(prefix + ' Max clock frequency: ', device.max_clock_frequency, 'MHz')
print(prefix + ' Global memory: ', int(device.global_mem_size / 1024**2), 'MB')
print(prefix + ' Global cache memory: ', int(device.global_mem_cache_size), 'B')
print(prefix + ' Local memory: ', int(device.local_mem_size / 1024), 'KB')
print(prefix + ' Max allocable memory: ', int(device.max_mem_alloc_size / 1024**2), 'MB')
print(prefix + ' Host unified memory: ', bool(device.host_unified_memory))
print(prefix + ' Max constant args: ', device.max_constant_args)
print(prefix + ' Max work group size ', device.max_work_group_size)
print(prefix + ' Max work item dimensions: ', device.max_work_item_dimensions)
print(prefix + ' Max work item size: ', device.max_work_item_sizes)
print(prefix + ' Image support: ', bool(device.image_support))
print(prefix + ' Max Image2D size (H x W): ', device.image2d_max_height, 'x',
device.image2d_max_width)
print(prefix + ' Max Image3D size (D x H x W): ', device.image3d_max_depth, 'x',
device.image3d_max_height, 'x', device.image3d_max_width)
if __name__ == '__main__':
openclInfo()
_ = input('Press enter to quit: ')
(You might need to pip install pyopencl
.)
==============NVSMI LOG==============
Timestamp : Thu Jun 20 07:17:53 2024
Driver Version : 555.99
CUDA Version : 12.5
Attached GPUs : 1
GPU 00000000:01:00.0
Product Name : NVIDIA GeForce RTX 3070 Ti Laptop GPU
Product Brand : GeForce
Product Architecture : Ampere
Display Mode : Disabled
Display Active : Disabled
Persistence Mode : Enabled
Addressing Mode : N/A
MIG Mode
Current : N/A
Pending : N/A
Accounting Mode : Disabled
Accounting Mode Buffer Size : 4000
Driver Model
Current : WDDM
Pending : WDDM
Serial Number : N/A
GPU UUID : GPU-317b1ee1-938f-259c-21e3-3bac71f77dd3
Minor Number : N/A
VBIOS Version : 94.04.7e.00.03
MultiGPU Board : No
Board ID : 0x100
Board Part Number : N/A
GPU Part Number : 24A0-760-A1
FRU Part Number : N/A
Module ID : 1
Inforom Version
Image Version : G001.0000.03.03
OEM Object : 2.0
ECC Object : N/A
Power Management Object : N/A
Inforom BBX Object Flush
Latest Timestamp : N/A
Latest Duration : N/A
GPU Operation Mode
Current : N/A
Pending : N/A
GPU C2C Mode : N/A
GPU Virtualization Mode
Virtualization Mode : None
Host VGPU Mode : N/A
vGPU Heterogeneous Mode : N/A
GPU Reset Status
Reset Required : No
Drain and Reset Recommended : N/A
GSP Firmware Version : N/A
IBMNPU
Relaxed Ordering Mode : N/A
PCI
Bus : 0x01
Device : 0x00
Domain : 0x0000
Device Id : 0x24A010DE
Bus Id : 00000000:01:00.0
Sub System Id : 0x13241462
GPU Link Info
PCIe Generation
Max : 4
Current : 4
Device Current : 4
Device Max : 4
Host Max : 4
Link Width
Max : 16x
Current : 8x
Bridge Chip
Type : N/A
Firmware : N/A
Replays Since Reset : 0
Replay Number Rollovers : 0
Tx Throughput : 0 KB/s
Rx Throughput : 0 KB/s
Atomic Caps Inbound : N/A
Atomic Caps Outbound : N/A
Fan Speed : N/A
Performance State : P0
Clocks Event Reasons
Idle : Active
Applications Clocks Setting : Not Active
SW Power Cap : Not Active
HW Slowdown : Not Active
HW Thermal Slowdown : Not Active
HW Power Brake Slowdown : Not Active
Sync Boost : Not Active
SW Thermal Slowdown : Not Active
Display Clock Setting : Not Active
Sparse Operation Mode : N/A
FB Memory Usage
Total : 8192 MiB
Reserved : 174 MiB
Used : 0 MiB
Free : 8018 MiB
BAR1 Memory Usage
Total : 8192 MiB
Used : 8164 MiB
Free : 28 MiB
Conf Compute Protected Memory Usage
Total : N/A
Used : N/A
Free : N/A
Compute Mode : Default
Utilization
Gpu : 0 %
Memory : 0 %
Encoder : 0 %
Decoder : 0 %
JPEG : 0 %
OFA : 0 %
Encoder Stats
Active Sessions : 0
Average FPS : 0
Average Latency : 0
FBC Stats
Active Sessions : 0
Average FPS : 0
Average Latency : 0
ECC Mode
Current : N/A
Pending : N/A
ECC Errors
Volatile
SRAM Correctable : N/A
SRAM Uncorrectable Parity : N/A
SRAM Uncorrectable SEC-DED : N/A
DRAM Correctable : N/A
DRAM Uncorrectable : N/A
Aggregate
SRAM Correctable : N/A
SRAM Uncorrectable Parity : N/A
SRAM Uncorrectable SEC-DED : N/A
DRAM Correctable : N/A
DRAM Uncorrectable : N/A
SRAM Threshold Exceeded : N/A
Aggregate Uncorrectable SRAM Sources
SRAM L2 : N/A
SRAM SM : N/A
SRAM Microcontroller : N/A
SRAM PCIE : N/A
SRAM Other : N/A
Retired Pages
Single Bit ECC : N/A
Double Bit ECC : N/A
Pending Page Blacklist : N/A
Remapped Rows : N/A
Temperature
GPU Current Temp : 51 C
GPU T.Limit Temp : N/A
GPU Shutdown Temp : 98 C
GPU Slowdown Temp : 95 C
GPU Max Operating Temp : 105 C
GPU Target Temperature : 87 C
Memory Current Temp : N/A
Memory Max Operating Temp : N/A
GPU Power Readings
Power Draw : 31.83 W
Current Power Limit : 125.00 W
Requested Power Limit : N/A
Default Power Limit : 125.00 W
Min Power Limit : 1.00 W
Max Power Limit : 150.00 W
GPU Memory Power Readings
Power Draw : N/A
Module Power Readings
Power Draw : N/A
Current Power Limit : N/A
Requested Power Limit : N/A
Default Power Limit : N/A
Min Power Limit : N/A
Max Power Limit : N/A
Clocks
Graphics : 1485 MHz
SM : 1485 MHz
Memory : 7000 MHz
Video : 1305 MHz
Applications Clocks
Graphics : N/A
Memory : N/A
Default Applications Clocks
Graphics : N/A
Memory : N/A
Deferred Clocks
Memory : N/A
Max Clocks
Graphics : 1785 MHz
SM : 1785 MHz
Memory : 7001 MHz
Video : 1575 MHz
Max Customer Boost Clocks
Graphics : N/A
Clock Policy
Auto Boost : N/A
Auto Boost Default : N/A
Voltage
Graphics : 787.500 mV
Fabric
State : N/A
Status : N/A
CliqueId : N/A
ClusterUUID : N/A
Health
Bandwidth : N/A
Processes : None
Capabilities
EGM : disabled
Same issue mine reports as 50Mhz lmao imagine the power efficiency if it was real
GPU: AMD Radeon RX 6800 @ 0.05 GHz [Discrete]
Edit: kek
GPU: AMD Radeon RX 6800 @ 0.02 GHz [Discrete]
Running rocm-smi
reveals that it is really running at 500MHz which is lowest it will go without underclocking maybe??? Not sure how far you could take that, not going to bother finding out
Here is some more data:
NVIDIA doesn't seem to have specs page for the Max-Q variant, for regular GTX 1060 it has this: graphics 1506 MHz, processor 1708 MHz. Clocks for Max-Q variant, taken from techpowerup.com: base 1063 MHz, boost 1480 MHz, memory 2002 MHz. Clocks for Max-Q variant, taken from notebookcheck.net: 1063 MHz - 1265 MHz - 1341 MHz - 1480 MHz boost, 8000 MHz memory.
Now I'm not even sure what is the real max frequency 1341 MHz, 1480 or 1670 MHz? Is GPU-Z and PyOpenCl right, or NVIDIA-smi, or the websites? If somebody knows, or knows how to check the real one, please tell me.
nvsmi_log.txt pyopencl_log.txt
@nonetrix It was current frequency not max frequency. AMD drivers only report current frequency.
https://www.kernel.org/doc/html/v5.10/gpu/amdgpu.html#hwmon-interfaces
Yes correct, it also isn't able to go down to 20MHz last time I checked
@Null-Ping We use nvmlDeviceGetMaxClockInfo to query max frequency for NV cards. I'll check it later
If somebody knows, or knows how to check the real one, please tell me.
Maybe run some GPU stress tests, and read the current frequency
Furmark reports frequencies up to 1493, so i seems like the 1480 number is more accurate. From what I have read, 1670 MHz is only for regular GTX 1060, not for the Max-Q. 1341 MHz is normal boost clock for Max-Q, and 1480 is overclocked boost clock. (I did not overclock my GPU though, but maybe the laptop manufacturer HP did, sadly, the BIOS is to locked-up to get any information from there.)
Also, this report shows the correct frequency for OpenCL: https://opencl.gpuinfo.org/displayreport.php?id=191 No idea why on my laptop it is different.
Tested myself
GPU-z itself reports current freq higher than its max freq. Seems fastfetch and nvidia-smi ( which both use nvml ) are correct
There are many nvml bindings for python. You should be able to use them to get the same result
Furmark reports frequencies up to 1493, so i seems like the 1480 number is more accurate.
Please make sure that it reports the maximum frequency, not the average freq or temperature limited freq
--gpu-detection-method opencl
was added in the dev branch.
Thanks. After all I managed to get the frequency to 1.67 GHz in Furmark, by decreasing load. So I guess GPU-Z, OpenCL, and partially the websites are wrong. Sorry for bad report.
General description of bug:
Often helpful information:
The content of the configuration file you use (if any):
Output of
fastfetch -c ci.jsonc --format json
:Output of
fastfetch --list-features
: