habana-pyhlml 1.21.3.57__py3-none-any.whl → 1.22.0.740__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of habana-pyhlml might be problematic. Click here for more details.

@@ -0,0 +1,38 @@
1
+ Signature-Version: 1.0
2
+ Created-By: SignFile 4.0.176 (Intel Corporation)
3
+ SHA-256-Digest-Manifest: d3XhZS02Blgx1zebTPPFWwbPO0VYc4qWLefheyRXxTs=
4
+
5
+ Name: habana_pyhlml-1.22.0.740.dist-info/LICENSE
6
+ SHA-256-Digest: OtemagV8YqXzI5uyICWoU3kIEjZYrqe16OS+nJjkfjw=
7
+
8
+ Name: habana_pyhlml-1.22.0.740.dist-info/METADATA
9
+ SHA-256-Digest: 0sLyBLMXb4nSmnMEV6TDIsTaIj5aF6eN5FurVeBrUEo=
10
+
11
+ Name: habana_pyhlml-1.22.0.740.dist-info/RECORD
12
+ SHA-256-Digest: K1YPH+KJymCppFae6/16b7LBbp7KTgMXH5FMF4Tm+7U=
13
+
14
+ Name: habana_pyhlml-1.22.0.740.dist-info/WHEEL
15
+ SHA-256-Digest: B1DK0TtEzurIB0kg+96/6EnwQpBL4tkr7ptkJB6EEdg=
16
+
17
+ Name: habana_pyhlml-1.22.0.740.dist-info/top_level.txt
18
+ SHA-256-Digest: JDZwkUk9eN1IhmR54P/XvzPBagxJ3t2REZHtOKq6Xvw=
19
+
20
+ Name: pyhlml/__init__.py
21
+ SHA-256-Digest: qlTptYeqf4nh4j163t7IYpK392tVi71wCvJ7b6NqX40=
22
+
23
+ Name: pyhlml/hlml_error.py
24
+ SHA-256-Digest: LZhA4cAWI+bRaI7DqWPpEZ62UK3dCOeexUTezWuIpT4=
25
+
26
+ Name: pyhlml/hlml_lib.py
27
+ SHA-256-Digest: K7Wpklstmcih9yNWAsumX3HBTgJ+gZxZLJt7RxtvW3U=
28
+
29
+ Name: pyhlml/hlml_types.py
30
+ SHA-256-Digest: mj9hwiGMM90EmyhlzlUgZ6BOvWk6fYLfmR5Uzcv6Nts=
31
+
32
+ Name: pyhlml/main.py
33
+ SHA-256-Digest: 7lBupO0YVk0Y2pWXdr13qz0mMeiR2rLigrzqUoOQcMU=
34
+
35
+ Name: pyhlml/pyhlml_types_generated.py
36
+ SHA-256-Digest: CcLYSTXiOt1CCpJ4aw3/lD5KveEap5sPRWgCwJfTcew=
37
+
38
+
META-INF/MANIFEST.MF ADDED
@@ -0,0 +1,36 @@
1
+ Manifest-Version: 1.0
2
+
3
+ Name: habana_pyhlml-1.22.0.740.dist-info/LICENSE
4
+ SHA-256-Digest: /J8fTEtZF8y69onNU5/EAdOn0AC9RM2uHPh/q36+5bc=
5
+
6
+ Name: habana_pyhlml-1.22.0.740.dist-info/METADATA
7
+ SHA-256-Digest: oZHaaW7xntzQlDHbciunAkEDzd2Gh6HKSlcEoFXKbn0=
8
+
9
+ Name: habana_pyhlml-1.22.0.740.dist-info/RECORD
10
+ SHA-256-Digest: STfUY2JD5KOfCfPcrA2YiG+tiI/Jq01jLxRB1r6xI2M=
11
+
12
+ Name: habana_pyhlml-1.22.0.740.dist-info/WHEEL
13
+ SHA-256-Digest: 2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO/i5m4cOimbo=
14
+
15
+ Name: habana_pyhlml-1.22.0.740.dist-info/top_level.txt
16
+ SHA-256-Digest: 0jXJHTTotoeuyzpI1dcVr0mzCVB0NKY7LyCF4OwoMZU=
17
+
18
+ Name: pyhlml/__init__.py
19
+ SHA-256-Digest: VjbHqSSypSMmVK7UTxuCyOs/AE8HhTXX9EGr6NbaQNk=
20
+
21
+ Name: pyhlml/hlml_error.py
22
+ SHA-256-Digest: GQulGXf+jX38jEASXF22qJ0yL8eC57vUo8s9lVI7q/E=
23
+
24
+ Name: pyhlml/hlml_lib.py
25
+ SHA-256-Digest: JiHRLl3vpAozhCSs9eJC8xlhIMxR2wNVZdmahjlgDfc=
26
+
27
+ Name: pyhlml/hlml_types.py
28
+ SHA-256-Digest: tCBdYvLofCuRIcPtFSeVsgksx1iCWTeuXYN/plddjP8=
29
+
30
+ Name: pyhlml/main.py
31
+ SHA-256-Digest: eVZvk2XRRk61+YsdvzFGzicS49MeFokt6W+smaQD0HY=
32
+
33
+ Name: pyhlml/pyhlml_types_generated.py
34
+ SHA-256-Digest: Oua3nPBYs3LPtiz38CTk0rm1b+RaMnyutWD+bzsPAPs=
35
+
36
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: habana-pyhlml
3
- Version: 1.21.3.57
3
+ Version: 1.22.0.740
4
4
  Summary: Python3 wrapper for the HLML library.
5
5
  Home-page: UNKNOWN
6
6
  Author: HabanaAI
@@ -0,0 +1,11 @@
1
+ pyhlml/__init__.py,sha256=VjbHqSSypSMmVK7UTxuCyOs_AE8HhTXX9EGr6NbaQNk,25
2
+ pyhlml/hlml_error.py,sha256=GQulGXf-jX38jEASXF22qJ0yL8eC57vUo8s9lVI7q_E,2113
3
+ pyhlml/hlml_lib.py,sha256=JiHRLl3vpAozhCSs9eJC8xlhIMxR2wNVZdmahjlgDfc,1430
4
+ pyhlml/hlml_types.py,sha256=tCBdYvLofCuRIcPtFSeVsgksx1iCWTeuXYN_plddjP8,13985
5
+ pyhlml/main.py,sha256=eVZvk2XRRk61-YsdvzFGzicS49MeFokt6W-smaQD0HY,35851
6
+ pyhlml/pyhlml_types_generated.py,sha256=Oua3nPBYs3LPtiz38CTk0rm1b-RaMnyutWD-bzsPAPs,7008
7
+ habana_pyhlml-1.22.0.740.dist-info/LICENSE,sha256=_J8fTEtZF8y69onNU5_EAdOn0AC9RM2uHPh_q36-5bc,1065
8
+ habana_pyhlml-1.22.0.740.dist-info/METADATA,sha256=oZHaaW7xntzQlDHbciunAkEDzd2Gh6HKSlcEoFXKbn0,1457
9
+ habana_pyhlml-1.22.0.740.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
10
+ habana_pyhlml-1.22.0.740.dist-info/top_level.txt,sha256=0jXJHTTotoeuyzpI1dcVr0mzCVB0NKY7LyCF4OwoMZU,7
11
+ habana_pyhlml-1.22.0.740.dist-info/RECORD,,
pyhlml/hlml_types.py CHANGED
@@ -1,32 +1,41 @@
1
1
  """
2
2
  Python bindings for HLML types
3
3
  """
4
+ import warnings
5
+ warnings.warn(
6
+ "pyhlml.hlml_types is deprecated and will be removed in a future release. "
7
+ "Please use pyhlml.pyhlml_types_generated directly.",
8
+ DeprecationWarning,
9
+ stacklevel=2 # Level 2 to point to the import statement in the user's code
10
+ )
4
11
 
5
12
  import ctypes
6
13
 
14
+ import pyhlml.pyhlml_types_generated as newpy
15
+
7
16
  class HLML_DEVICE:
8
17
  TYPE = ctypes.c_void_p
9
18
 
10
19
  class HLML_DEFINE:
11
- PCI_DOMAIN_LEN = 9
12
- PCI_ADDR_LEN = ( PCI_DOMAIN_LEN + 10 )
13
- PCI_LINK_INFO_LEN = 10
14
- HL_FIELD_MAX_SIZE = 32
15
- PORTS_ARR_SIZE = 2
16
- HLML_DEVICE_ROW_RPL_MAX = 32
17
- HLML_DEVICE_MAC_MAX_ADDRESSES = 48
18
- HLML_EVENT_ECC_ERR = ( 1 << 0 )
19
- HLML_EVENT_ECC_DERR = ( 1 << 0 )
20
- HLML_EVENT_CRITICAL_ERR = ( 1 << 1 )
21
- HLML_EVENT_CLOCK_RATE = ( 1 << 2 )
22
- HLML_EVENT_DRAM_ERR = ( 1 << 3 )
23
- HLML_EVENT_DRAM_DERR = ( 1 << 3 )
24
- HLML_EVENT_ECC_SERR = ( 1 << 4 )
25
- HLML_EVENT_DRAM_SERR = ( 1 << 5 )
26
- HLML_CLOCKS_THROTTLE_REASON_POWER = ( 1 << 0 )
27
- HLML_CLOCKS_THROTTLE_REASON_THERMAL = ( 1 << 1 )
28
- HLML_AFFINITY_SCOPE_NODE = 0
29
- HLML_AFFINITY_SCOPE_SOCKET = 1
20
+ PCI_DOMAIN_LEN = newpy.HLML_DEFINES.PCI_DOMAIN_LEN
21
+ PCI_ADDR_LEN = newpy.HLML_DEFINES.PCI_ADDR_LEN
22
+ PCI_LINK_INFO_LEN = newpy.HLML_DEFINES.PCI_LINK_INFO_LEN
23
+ HL_FIELD_MAX_SIZE = newpy.HLML_DEFINES.HL_FIELD_MAX_SIZE
24
+ PORTS_ARR_SIZE = newpy.HLML_DEFINES.PORTS_ARR_SIZE
25
+ HLML_DEVICE_ROW_RPL_MAX = newpy.HLML_DEFINES.HLML_DEVICE_ROW_RPL_MAX
26
+ HLML_DEVICE_MAC_MAX_ADDRESSES = newpy.HLML_DEFINES.HLML_DEVICE_MAC_MAX_ADDRESSES
27
+ HLML_EVENT_ECC_ERR = newpy.HLML_DEFINES.HLML_EVENT_ECC_ERR
28
+ HLML_EVENT_ECC_DERR = newpy.HLML_DEFINES.HLML_EVENT_ECC_DERR
29
+ HLML_EVENT_CRITICAL_ERR = newpy.HLML_DEFINES.HLML_EVENT_CRITICAL_ERR
30
+ HLML_EVENT_CLOCK_RATE = newpy.HLML_DEFINES.HLML_EVENT_CLOCK_RATE
31
+ HLML_EVENT_DRAM_ERR = newpy.HLML_DEFINES.HLML_EVENT_DRAM_ERR
32
+ HLML_EVENT_DRAM_DERR = newpy.HLML_DEFINES.HLML_EVENT_DRAM_DERR
33
+ HLML_EVENT_ECC_SERR = newpy.HLML_DEFINES.HLML_EVENT_ECC_SERR
34
+ HLML_EVENT_DRAM_SERR = newpy.HLML_DEFINES.HLML_EVENT_DRAM_SERR
35
+ HLML_CLOCKS_THROTTLE_REASON_POWER = newpy.HLML_DEFINES.HLML_CLOCKS_THROTTLE_REASON_POWER
36
+ HLML_CLOCKS_THROTTLE_REASON_THERMAL = newpy.HLML_DEFINES.HLML_CLOCKS_THROTTLE_REASON_THERMAL
37
+ HLML_AFFINITY_SCOPE_NODE = newpy.HLML_DEFINES.HLML_AFFINITY_SCOPE_NODE
38
+ HLML_AFFINITY_SCOPE_SOCKET = newpy.HLML_DEFINES.HLML_AFFINITY_SCOPE_SOCKET
30
39
 
31
40
  class COMMON_DEFINE:
32
41
  VERSION_MAX_LEN = 128
@@ -34,122 +43,126 @@ class COMMON_DEFINE:
34
43
  HABANA_LINK_CNT_MAX_NUM = 256
35
44
  STATUS_MAX_LEN = 30
36
45
 
46
+ # Duplicate values from "defines" class, kept for legacy reasons
37
47
  class HLML_AFFINITY_SCOPE:
38
48
  TYPE = ctypes.c_uint
39
- HLML_AFFINITY_SCOPE_NODE = 0
40
- HLML_AFFINITY_SCOPE_SOCKET = 1
49
+ HLML_AFFINITY_SCOPE_NODE = newpy.HLML_DEFINES.HLML_AFFINITY_SCOPE_NODE
50
+ HLML_AFFINITY_SCOPE_SOCKET = newpy.HLML_DEFINES.HLML_AFFINITY_SCOPE_SOCKET
41
51
 
42
52
  class HLML_RETURN:
43
53
  TYPE = ctypes.c_uint
44
- HLML_SUCCESS = 0
45
- HLML_ERROR_UNINITIALIZED = 1
46
- HLML_ERROR_INVALID_ARGUMENT = 2
47
- HLML_ERROR_NOT_SUPPORTED = 3
48
- HLML_ERROR_ALREADY_INITIALIZED = 5
49
- HLML_ERROR_NOT_FOUND = 6
50
- HLML_ERROR_INSUFFICIENT_SIZE = 7
51
- HLML_ERROR_DRIVER_NOT_LOADED = 9
52
- HLML_ERROR_TIMEOUT = 10
53
- HLML_ERROR_AIP_IS_LOST = 15
54
- HLML_ERROR_MEMORY = 20
55
- HLML_ERROR_NO_DATA = 21
56
- HLML_ERROR_UNKNOWN = 49
54
+ HLML_SUCCESS = newpy.HLML_RETURN.HLML_SUCCESS
55
+ HLML_ERROR_UNINITIALIZED = newpy.HLML_RETURN.HLML_ERROR_UNINITIALIZED
56
+ HLML_ERROR_INVALID_ARGUMENT = newpy.HLML_RETURN.HLML_ERROR_INVALID_ARGUMENT
57
+ HLML_ERROR_NOT_SUPPORTED = newpy.HLML_RETURN.HLML_ERROR_NOT_SUPPORTED
58
+ HLML_ERROR_ALREADY_INITIALIZED = newpy.HLML_RETURN.HLML_ERROR_ALREADY_INITIALIZED
59
+ HLML_ERROR_NOT_FOUND = newpy.HLML_RETURN.HLML_ERROR_NOT_FOUND
60
+ HLML_ERROR_INSUFFICIENT_SIZE = newpy.HLML_RETURN.HLML_ERROR_INSUFFICIENT_SIZE
61
+ HLML_ERROR_DRIVER_NOT_LOADED = newpy.HLML_RETURN.HLML_ERROR_DRIVER_NOT_LOADED
62
+ HLML_ERROR_TIMEOUT = newpy.HLML_RETURN.HLML_ERROR_TIMEOUT
63
+ HLML_ERROR_AIP_IS_LOST = newpy.HLML_RETURN.HLML_ERROR_AIP_IS_LOST
64
+ HLML_ERROR_MEMORY = newpy.HLML_RETURN.HLML_ERROR_MEMORY
65
+ HLML_ERROR_NO_DATA = newpy.HLML_RETURN.HLML_ERROR_NO_DATA
66
+ HLML_ERROR_UNKNOWN = newpy.HLML_RETURN.HLML_ERROR_UNKNOWN
57
67
 
58
68
  class HLML_CLOCK_TYPE:
59
69
  TYPE = ctypes.c_uint
60
- HLML_CLOCK_SOC = 0
61
- HLML_CLOCK_IC = 1
62
- HLML_CLOCK_MME = 2
63
- HLML_CLOCK_TPC = 3
64
- HLML_CLOCK_COUNT = 4
70
+ HLML_CLOCK_SOC = newpy.HLML_CLOCK_TYPE.HLML_CLOCK_SOC
71
+ HLML_CLOCK_IC = newpy.HLML_CLOCK_TYPE.HLML_CLOCK_IC
72
+ HLML_CLOCK_MME = newpy.HLML_CLOCK_TYPE.HLML_CLOCK_MME
73
+ HLML_CLOCK_TPC = newpy.HLML_CLOCK_TYPE.HLML_CLOCK_TPC
74
+ HLML_CLOCK_COUNT = newpy.HLML_CLOCK_TYPE.HLML_CLOCK_COUNT
65
75
 
66
76
  class HLML_TEMP_SENS:
67
77
  TYPE = ctypes.c_uint
68
- HLML_TEMPERATURE_ON_AIP = 0
69
- HLML_TEMPERATURE_ON_BOARD = 1
70
- HLML_TEMPERATURE_OTHER = 2
71
- HLML_TEMPERATURE_HBM = 3
72
- HLML_TEMPERATURE_VRM = 4
73
- HLML_TEMPERATURE_CTEMP = 5
78
+ HLML_TEMPERATURE_ON_AIP = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_ON_AIP
79
+ HLML_TEMPERATURE_ON_BOARD = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_ON_BOARD
80
+ HLML_TEMPERATURE_OTHER = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_OTHER
81
+ HLML_TEMPERATURE_HBM = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_HBM
82
+ HLML_TEMPERATURE_VRM = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_VRM
83
+ HLML_TEMPERATURE_CTEMP = newpy.HLML_TEMPERATURE_SENSORS.HLML_TEMPERATURE_CTEMP
74
84
 
75
85
  class HLML_TEMP_THRESH:
76
86
  TYPE = ctypes.c_uint
77
- HLML_TEMPERATURE_THRESHOLD_SHUTDOWN = 0
78
- HLML_TEMPERATURE_THRESHOLD_SLOWDOWN = 1
79
- HLML_TEMPERATURE_THRESHOLD_MEM_MAX = 2
80
- HLML_TEMPERATURE_THRESHOLD_GPU_MAX = 3
81
- HLML_TEMPERATURE_THRESHOLD_COUNT = 4
87
+ HLML_TEMPERATURE_THRESHOLD_SHUTDOWN = newpy.HLML_TEMPERATURE_THRESHOLDS.HLML_TEMPERATURE_THRESHOLD_SHUTDOWN
88
+ HLML_TEMPERATURE_THRESHOLD_SLOWDOWN = newpy.HLML_TEMPERATURE_THRESHOLDS.HLML_TEMPERATURE_THRESHOLD_SLOWDOWN
89
+ HLML_TEMPERATURE_THRESHOLD_MEM_MAX = newpy.HLML_TEMPERATURE_THRESHOLDS.HLML_TEMPERATURE_THRESHOLD_MEM_MAX
90
+ HLML_TEMPERATURE_THRESHOLD_GPU_MAX = newpy.HLML_TEMPERATURE_THRESHOLDS.HLML_TEMPERATURE_THRESHOLD_GPU_MAX
91
+ HLML_TEMPERATURE_THRESHOLD_COUNT = newpy.HLML_TEMPERATURE_THRESHOLDS.HLML_TEMPERATURE_THRESHOLD_COUNT
82
92
 
83
93
  class HLML_ENABLE_STATE:
84
94
  TYPE = ctypes.c_uint
85
- HLML_FEATURE_DISABLED = 0
86
- HLML_FEATURE_ENABLED = 1
95
+ HLML_FEATURE_DISABLED = newpy.HLML_ENABLE_STATE.HLML_FEATURE_DISABLED
96
+ HLML_FEATURE_ENABLED = newpy.HLML_ENABLE_STATE.HLML_FEATURE_ENABLED
87
97
 
88
98
  class HLML_P_STATES:
89
99
  TYPE = ctypes.c_uint
90
- HLML_PSTATE_0 = 0
91
- HLML_PSTATE_1 = 1
92
- HLML_PSTATE_2 = 2
93
- HLML_PSTATE_3 = 3
94
- HLML_PSTATE_4 = 4
95
- HLML_PSTATE_5 = 5
96
- HLML_PSTATE_6 = 6
97
- HLML_PSTATE_7 = 7
98
- HLML_PSTATE_8 = 8
99
- HLML_PSTATE_9 = 9
100
- HLML_PSTATE_10 = 10
101
- HLML_PSTATE_11 = 11
102
- HLML_PSTATE_12 = 12
103
- HLML_PSTATE_13 = 13
104
- HLML_PSTATE_14 = 14
105
- HLML_PSTATE_15 = 15
106
- HLML_PSTATE_SENTINEL = 16
107
- HLML_PSTATE_UNKNOWN = 32
108
-
109
- HLML_PSTATE_NUM_SUPPORTED = HLML_P_STATES.HLML_PSTATE_SENTINEL
100
+ HLML_PSTATE_0 = newpy.HLML_P_STATES.HLML_PSTATE_0
101
+ HLML_PSTATE_1 = newpy.HLML_P_STATES.HLML_PSTATE_1
102
+ HLML_PSTATE_2 = newpy.HLML_P_STATES.HLML_PSTATE_2
103
+ HLML_PSTATE_3 = newpy.HLML_P_STATES.HLML_PSTATE_3
104
+ HLML_PSTATE_4 = newpy.HLML_P_STATES.HLML_PSTATE_4
105
+ HLML_PSTATE_5 = newpy.HLML_P_STATES.HLML_PSTATE_5
106
+ HLML_PSTATE_6 = newpy.HLML_P_STATES.HLML_PSTATE_6
107
+ HLML_PSTATE_7 = newpy.HLML_P_STATES.HLML_PSTATE_7
108
+ HLML_PSTATE_8 = newpy.HLML_P_STATES.HLML_PSTATE_8
109
+ HLML_PSTATE_9 = newpy.HLML_P_STATES.HLML_PSTATE_9
110
+ HLML_PSTATE_10 = newpy.HLML_P_STATES.HLML_PSTATE_10
111
+ HLML_PSTATE_11 = newpy.HLML_P_STATES.HLML_PSTATE_11
112
+ HLML_PSTATE_12 = newpy.HLML_P_STATES.HLML_PSTATE_12
113
+ HLML_PSTATE_13 = newpy.HLML_P_STATES.HLML_PSTATE_13
114
+ HLML_PSTATE_14 = newpy.HLML_P_STATES.HLML_PSTATE_14
115
+ HLML_PSTATE_15 = newpy.HLML_P_STATES.HLML_PSTATE_15
116
+ HLML_PSTATE_SENTINEL = newpy.HLML_P_STATES.HLML_PSTATE_SENTINEL
117
+ HLML_PSTATE_UNKNOWN = newpy.HLML_P_STATES.HLML_PSTATE_UNKNOWN
118
+
119
+ HLML_PSTATE_NUM_SUPPORTED = newpy.HLML_P_STATES.HLML_PSTATE_SENTINEL
110
120
 
111
121
  class HLML_MEMORY_ERROR:
112
122
  TYPE = ctypes.c_uint
113
- HLML_MEMORY_ERROR_TYPE_CORRECTED = 0
114
- HLML_MEMORY_ERROR_TYPE_UNCORRECTED = 1
115
- HLML_MEMORY_ERROR_TYPE_COUNT = 2
123
+ HLML_MEMORY_ERROR_TYPE_CORRECTED = newpy.HLML_MEMORY_ERROR_TYPE.HLML_MEMORY_ERROR_TYPE_CORRECTED
124
+ HLML_MEMORY_ERROR_TYPE_UNCORRECTED = newpy.HLML_MEMORY_ERROR_TYPE.HLML_MEMORY_ERROR_TYPE_UNCORRECTED
125
+ HLML_MEMORY_ERROR_TYPE_COUNT = newpy.HLML_MEMORY_ERROR_TYPE.HLML_MEMORY_ERROR_TYPE_COUNT
116
126
 
117
127
  class HLML_MEMORY_LOCATION:
118
128
  TYPE = ctypes.c_uint
119
- HLML_MEMORY_LOCATION_SRAM = 0
120
- HLML_MEMORY_LOCATION_DRAM = 1
121
- HLML_MEMORY_LOCATION_COUNT = 2
129
+ HLML_MEMORY_LOCATION_SRAM = newpy.HLML_MEMORY_LOCATION_TYPE.HLML_MEMORY_LOCATION_SRAM
130
+ HLML_MEMORY_LOCATION_DRAM = newpy.HLML_MEMORY_LOCATION_TYPE.HLML_MEMORY_LOCATION_DRAM
131
+ HLML_MEMORY_LOCATION_ALL = newpy.HLML_MEMORY_LOCATION_TYPE.HLML_MEMORY_LOCATION_ALL
132
+ HLML_MEMORY_LOCATION_COUNT = newpy.HLML_MEMORY_LOCATION_TYPE.HLML_MEMORY_LOCATION_COUNT
122
133
 
123
134
  class HLML_ECC_COUNTER:
124
135
  TYPE = ctypes.c_uint
125
- HLML_VOLATILE_ECC = 0
126
- HLML_AGGREGATE_ECC = 1
127
- HLML_ECC_COUNTER_TYPE_COUNT = 2
136
+ HLML_VOLATILE_ECC = newpy.HLML_ECC_COUNTER_TYPE.HLML_VOLATILE_ECC
137
+ HLML_AGGREGATE_ECC = newpy.HLML_ECC_COUNTER_TYPE.HLML_AGGREGATE_ECC
138
+ HLML_ECC_COUNTER_TYPE_COUNT = newpy.HLML_ECC_COUNTER_TYPE.HLML_ECC_COUNTER_TYPE_COUNT
128
139
 
129
140
  class HLML_PCIE_UTIL_COUNTER:
130
141
  TYPE = ctypes.c_uint
131
- HLML_PCIE_UTIL_TX_BYTES = 0
132
- HLML_PCIE_UTIL_RX_BYTES = 1
133
- HLML_PCIE_UTIL_COUNT = 2
142
+ HLML_PCIE_UTIL_TX_BYTES = newpy.HLML_PCIE_UTIL_COUNTER.HLML_PCIE_UTIL_TX_BYTES
143
+ HLML_PCIE_UTIL_RX_BYTES = newpy.HLML_PCIE_UTIL_COUNTER.HLML_PCIE_UTIL_RX_BYTES
144
+ HLML_PCIE_UTIL_COUNT = newpy.HLML_PCIE_UTIL_COUNTER.HLML_PCIE_UTIL_COUNT
134
145
 
135
146
  class HLML_EVENT_SET:
136
147
  TYPE = ctypes.c_void_p
137
148
 
138
149
  class HLML_ROW_REPLACEMENT_CAUSE:
139
150
  TYPE = ctypes.c_uint
140
- HLML_ROW_REPLACEMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS = 0,
141
- HLML_ROW_REPLACEMENT_CAUSE_DOUBLE_BIT_ECC_ERROR = 1,
142
- HLML_ROW_REPLACEMENT_CAUSE_COUNT = 2
151
+ HLML_ROW_REPLACEMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS = newpy.HLML_ROW_REPLACEMENT_CAUSE.HLML_ROW_REPLACEMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS
152
+ HLML_ROW_REPLACEMENT_CAUSE_DOUBLE_BIT_ECC_ERROR = newpy.HLML_ROW_REPLACEMENT_CAUSE.HLML_ROW_REPLACEMENT_CAUSE_DOUBLE_BIT_ECC_ERROR
153
+ HLML_ROW_REPLACEMENT_CAUSE_COUNT = newpy.HLML_ROW_REPLACEMENT_CAUSE.HLML_ROW_REPLACEMENT_CAUSE_COUNT
143
154
 
144
155
  class HLML_PERF_POLICY:
145
156
  TYPE = ctypes.c_uint
146
- HLML_PERF_POLICY_POWER = 0,
147
- HLML_PERF_POLICY_THERMAL = 1,
148
- HLML_PERF_POLICY_COUNT = 0
157
+ HLML_PERF_POLICY_POWER = newpy.HLML_PERF_POLICY_TYPE.HLML_PERF_POLICY_POWER
158
+ HLML_PERF_POLICY_THERMAL = newpy.HLML_PERF_POLICY_TYPE.HLML_PERF_POLICY_THERMAL
159
+ HLML_PERF_POLICY_COUNT = newpy.HLML_PERF_POLICY_TYPE.HLML_PERF_POLICY_COUNT
149
160
 
161
+ # Legacy
150
162
  class _struct_c_hlml_unit(ctypes.Structure):
151
163
  pass # opaque handle
152
164
 
165
+ # Legacy
153
166
  class HLML_UNIT:
154
167
  TYPE = _struct_c_hlml_unit
155
168
 
@@ -192,69 +205,31 @@ class _PrintS(ctypes.Structure):
192
205
  return self.__class__.__name__ + "(" + ", ".join(result) + ")"
193
206
 
194
207
  class c_hlml_pci_cap(_PrintS):
195
- _fields_ = [("link_speed", ctypes.c_char * HLML_DEFINE.PCI_LINK_INFO_LEN),
196
- ("link_width",ctypes.c_char * HLML_DEFINE.PCI_LINK_INFO_LEN),
197
- ("link_max_speed", ctypes.c_char * HLML_DEFINE.PCI_LINK_INFO_LEN),
198
- ("link_max_width",ctypes.c_char * HLML_DEFINE.PCI_LINK_INFO_LEN)
199
- ]
208
+ _fields_ = newpy.c_hlml_pci_cap._fields_
200
209
 
201
210
  class c_hlml_pci_info(_PrintS):
202
- """
203
- /*
204
- * bus - The bus on which the device resides, 0 to 0xf
205
- * bus_id - The tuple domain:bus:device.function
206
- * device - The device's id on the bus, 0 to 31
207
- * domain - The PCI domain on which the device's bus resides
208
- * pci_device_id - The combined 16b deviceId and 16b vendor id
209
- * pci_subsys_device_id - The combined 16b subsys_id and 16b subsys_vendor_id
210
- */
211
- """
212
- _fields_ = [("bus", ctypes.c_uint),
213
- ("bus_id", ctypes.c_char * HLML_DEFINE.PCI_ADDR_LEN),
214
- ("device", ctypes.c_uint),
215
- ("domain", ctypes.c_uint),
216
- ("pci_device_id", ctypes.c_uint),
217
- ("caps", c_hlml_pci_cap),
218
- ("pci_rev", ctypes.c_uint),
219
- ("pci_subsys_id", ctypes.c_uint)
220
- ]
211
+ _fields_ = newpy.c_hlml_pci_info._fields_
221
212
 
222
213
  class c_hlml_utilization(_PrintS):
223
- _fields_ = [("aip", ctypes.c_uint),
224
- ("memory", ctypes.c_uint)
225
- ]
214
+ _fields_ = newpy.c_hlml_utilization._fields_
226
215
 
227
216
  class c_hlml_process_utilization(_PrintS):
228
- _fields_ = [("aip_util", ctypes.c_uint)
229
- ]
217
+ _fields_ = newpy.c_hlml_process_utilization_sample._fields_
230
218
 
231
219
  class c_hlml_memory(_PrintS):
232
- _fields_ = [("free", ctypes.c_ulonglong),
233
- ("total", ctypes.c_ulonglong),
234
- ("used", ctypes.c_ulonglong)
235
- ]
220
+ _fields_ = newpy.c_hlml_memory._fields_
236
221
 
237
222
  class c_hlml_pcb_info(_PrintS):
238
- _fields_ = [("pcb_ver", ctypes.c_char * HLML_DEFINE.HL_FIELD_MAX_SIZE),
239
- ("pcb_assembly_ver", ctypes.c_char * HLML_DEFINE.HL_FIELD_MAX_SIZE)
240
- ]
223
+ _fields_ = newpy.c_hlml_pcb_info._fields_
241
224
 
242
225
  class c_hlml_event_data(_PrintS):
243
- _fields_ = [("device", ctypes.c_void_p),
244
- ("event_type", ctypes.c_ulonglong)
245
- ]
226
+ _fields_ = newpy.c_hlml_event_data._fields_
246
227
 
247
228
  class c_hlml_mac_info(_PrintS):
248
- _fields_ = [("addr", ctypes.c_ubyte * COMMON_DEFINE.ETHER_ADDR_LEN), # unsigned char
249
- ("id", ctypes.c_int)
250
- ]
229
+ _fields_ = newpy.c_hlml_mac_info._fields_
251
230
 
252
231
  class c_hlml_nic_stats_info(_PrintS):
253
- _fields_ = [("port", ctypes.c_uint32),
254
- ("str_buf", ctypes.POINTER(ctypes.c_char)),
255
- ("val_buf", ctypes.POINTER(ctypes.c_uint64)),
256
- ("num_of_counters_out", ctypes.POINTER(ctypes.c_uint32))
257
- ]
232
+ _fields_ = newpy.c_hlml_nic_stats_info._fields_
258
233
 
259
234
  def __init__(self, port: int, num_of_counters: int = None):
260
235
  num_of_counters = num_of_counters or COMMON_DEFINE.HABANA_LINK_CNT_MAX_NUM
@@ -269,18 +244,12 @@ class c_hlml_nic_stats_info(_PrintS):
269
244
  self.num_of_counters_out = (ctypes.c_uint32 * 1)()
270
245
 
271
246
  class c_hlml_violation_time(_PrintS):
272
- _fields_ = [("reference_time", ctypes.c_ulonglong),
273
- ("violation_time", ctypes.c_ulonglong)
274
- ]
247
+ _fields_ = newpy.c_hlml_violation_time._fields_
275
248
 
276
249
  class c_hlml_row_address(_PrintS):
277
- _fields_ = [("hbm_idx", ctypes.c_uint8),
278
- ("pc", ctypes.c_uint8),
279
- ("sid", ctypes.c_uint8),
280
- ("bank_idx", ctypes.c_uint8),
281
- ("row_addr", ctypes.c_uint16)
282
- ]
250
+ _fields_ = newpy.c_hlml_row_address._fields_
283
251
 
252
+ # Legacy
284
253
  class hlml_ecc_mode(_PrintS):
285
254
  _fields_ = [("current", ctypes.c_uint),
286
255
  ("pending", ctypes.c_uint)