Are Stoney Ridge APUs supported?
I get a crash on trying to run MatrixMultiplication example (from rocm-gpudebugsdk_1.5.270-g3e9d2df_amd64.deb, rocm-gdb_1.5.270-gc4fb045_amd64.deb):
$ cd /opt/rocm/gpudebugsdk/samples/MatrixMultiplication && /opt/rocm/bin/rocm-gdb MatrixMul
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
AMD rocm-gdb 1.5.270
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
For ROCm GPU debugging specific help, type "help rocm".
Type "apropos word" to search for commands related to "word"...
ROCm Configure Steps Done
....Certain GDB signals have been changed
Reading symbols from MatrixMul...done.
(ROCm-gdb) r
Starting program: /opt/rocm/gpudebugsdk/samples/MatrixMultiplication/MatrixMul
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Initializing HSA runtime...
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b4bfa5 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
(ROCm-gdb) bt
#0 0x00007ffff7b4bfa5 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#1 0x00007ffff7b57ba3 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#2 0x00007ffff7b57c14 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#3 0x00007ffff7b701ce in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#4 0x00007ffff7b58b0a in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#5 0x0000000000403635 in AMDT::HSAResourceManager::InitRuntime (verbosePrint=true, gpuIndex=0) at ../Common/HSAResourceManager.cpp:80
#6 0x000000000040df84 in RunTest (doVerify=false) at MatrixMul.cpp:76
#7 0x000000000040deeb in main (argc=1, argv=0x7fffffffdb08) at MatrixMul.cpp:65
APU model: AMD A4-9120. More info:
$ uname -r
4.11.0-kfd-compute-rocm-rel-1.6-180
$ cat /sys/class/kfd/kfd/topology/nodes/0/properties
cpu_cores_count 2
simd_count 40
mem_banks_count 1
caches_count 4
io_links_count 0
cpu_core_id_base 16
simd_id_base 2147483648
max_waves_per_simd 40
lds_size_in_kb 64
gds_size_in_kb 0
wave_front_size 64
array_count 1
simd_arrays_per_engine 0
cu_per_simd_array 10
simd_per_cu 4
max_slots_scratch_cu 32
vendor_id 0
device_id 0
location_id 0
max_engine_clk_ccompute 2200
$ dmesg | grep IOMMU
[ 1.269895] AMD-Vi: IOMMU performance counters supported
[ 1.271662] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 1.628151] AMD IOMMUv2 driver by Joerg Roedel <[email protected]>
$ dmesg | grep CRAT
[ 0.000000] ACPI: CRAT 0x00000000E7BD9000 0002E8 (v01 HPQOEM INSYDE 00000001 HP 00040000)
[ 1.633109] Parsing CRAT table with 1 nodes
Thanks!
vector_copy example:
$ cd /opt/rocm/hsa/sample && /opt/rocm/bin/rocm-gdb vector_copy
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
AMD rocm-gdb 1.5.270
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
For ROCm GPU debugging specific help, type "help rocm".
Type "apropos word" to search for commands related to "word"...
ROCm Configure Steps Done
....Certain GDB signals have been changed
Reading symbols from vector_copy...done.
(ROCm-gdb) r
Starting program: /opt/rocm/hsa/sample/vector_copy
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b4bfa5 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
(ROCm-gdb) bt
#0 0x00007ffff7b4bfa5 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#1 0x00007ffff7b57ba3 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#2 0x00007ffff7b57c14 in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#3 0x00007ffff7b701ce in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#4 0x00007ffff7b58b0a in ?? () from /opt/rocm/hsa/lib/libhsa-runtime64.so.1
#5 0x00000000004014a9 in main (argc=1, argv=0x7fffffffe318) at vector_copy.c:154
Compiled libhsa-runtime64.so with debug symbols!
Backtrace for MatrixMultiplication:
$ cd /opt/rocm/gpudebugsdk/samples/MatrixMultiplication && /opt/rocm/bin/rocm-gdb MatrixMul
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
AMD rocm-gdb 1.5.270
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
For ROCm GPU debugging specific help, type "help rocm".
Type "apropos word" to search for commands related to "word"...
ROCm Configure Steps Done
....Certain GDB signals have been changed
Reading symbols from MatrixMul...done.
(ROCm-gdb) r
Starting program: /opt/rocm/gpudebugsdk/samples/MatrixMultiplication/MatrixMul
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Initializing HSA runtime...
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adc1c0 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
(ROCm-gdb) bt
#0 0x00007ffff7adc1c0 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
#1 0x00007ffff7ad5f3a in amd::GpuAgent::GpuAgent (this=0x634310, node=0, node_props=...) at /home/constantine/ROCR-Runtime/src/core/runtime/amd_gpu_agent.cpp:102
#2 0x00007ffff7af473e in amd::DiscoverGpu (node_id=0, node_prop=...) at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:78
#3 0x00007ffff7af4b5a in amd::BuildTopology () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:176
#4 0x00007ffff7af4bf3 in amd::Load () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:191
#5 0x00007ffff7b16ae6 in core::Runtime::Load (this=0x630f10) at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:1103
#6 0x00007ffff7b127da in core::Runtime::Acquire () at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:113
#7 0x00007ffff7af827e in HSA::hsa_init () at /home/constantine/ROCR-Runtime/src/core/runtime/hsa.cpp:208
#8 0x00007ffff7b2c54d in hsa_init () at /home/constantine/ROCR-Runtime/src/core/common/hsa_table_interface.cpp:61
#9 0x0000000000403635 in AMDT::HSAResourceManager::InitRuntime (verbosePrint=true, gpuIndex=0) at ../Common/HSAResourceManager.cpp:80
#10 0x000000000040df84 in RunTest (doVerify=false) at MatrixMul.cpp:76
#11 0x000000000040deeb in main (argc=1, argv=0x7fffffffdb08) at MatrixMul.cpp:65
Backtrace for vector_copy:
$ cd /opt/rocm/hsa/sample && /opt/rocm/bin/rocm-gdb vector_copy
GNU gdb (GDB) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
AMD rocm-gdb 1.5.270
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
For ROCm GPU debugging specific help, type "help rocm".
Type "apropos word" to search for commands related to "word"...
ROCm Configure Steps Done
....Certain GDB signals have been changed
Reading symbols from vector_copy...done.
(ROCm-gdb) r
Starting program: /opt/rocm/hsa/sample/vector_copy
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adc1c0 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
(ROCm-gdb) bt
#0 0x00007ffff7adc1c0 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
#1 0x00007ffff7ad5f3a in amd::GpuAgent::GpuAgent (this=0x61cea0, node=0, node_props=...) at /home/constantine/ROCR-Runtime/src/core/runtime/amd_gpu_agent.cpp:102
#2 0x00007ffff7af473e in amd::DiscoverGpu (node_id=0, node_prop=...) at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:78
#3 0x00007ffff7af4b5a in amd::BuildTopology () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:176
#4 0x00007ffff7af4bf3 in amd::Load () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:191
#5 0x00007ffff7b16ae6 in core::Runtime::Load (this=0x619b00) at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:1103
#6 0x00007ffff7b127da in core::Runtime::Acquire () at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:113
#7 0x00007ffff7af827e in HSA::hsa_init () at /home/constantine/ROCR-Runtime/src/core/runtime/hsa.cpp:208
#8 0x00007ffff7b2c54d in hsa_init () at /home/constantine/ROCR-Runtime/src/core/common/hsa_table_interface.cpp:61
#9 0x00000000004014a9 in main (argc=1, argv=0x7fffffffe318) at vector_copy.c:154
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adc1c0 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
(ROCm-gdb) p version_
Cannot access memory at address 0x10
(ROCm-gdb) p &version_
$1 = (core::Isa::Version *) 0x10
First time it hits a breakpoint on isa.h:124, the result is fine:
Breakpoint 2, core::Isa::GetMajorVersion (this=0x7fffffffd440)
at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
(ROCm-gdb) p version_
$1 = {<std::_Tuple_impl<0ul, int, int, int>> = {<std::_Tuple_impl<1ul, int, int>> = {<std::_Tuple_impl<2ul, int>> = {<std::_Head_base<2ul, int, false>> = {
_M_head_impl = 0}, <No data fields>}, <std::_Head_base<1ul, int, false>> = {
_M_head_impl = 0}, <No data fields>}, <std::_Head_base<0ul, int, false>> = {_M_head_impl = 0}, <No data fields>}, <No data fields>}
On the second time:
(ROCm-gdb) c
Continuing.
Breakpoint 2, core::Isa::GetMajorVersion (this=0x0)
at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
(ROCm-gdb) p version_
Cannot access memory at address 0x10
(ROCm-gdb) p &version_
$2 = (core::Isa::Version *) 0x10
Wish ROCm-gdb was build with TUI!..
Starting to hack isa.c, here's the changes just to see where it needs version the first time breakpoint passes fine:
diff --git a/src/core/runtime/isa.cpp b/src/core/runtime/isa.cpp
index a4a15fa..5ae655a 100644
--- a/src/core/runtime/isa.cpp
+++ b/src/core/runtime/isa.cpp
@@ -64,12 +64,13 @@ bool Wavefront::GetInfo(
}
}
}
-
+#include <stdio.h>
std::string Isa::GetFullName() const {
std::stringstream full_name;
full_name << GetVendor() << ":" << GetArchitecture() << ":"
<< GetMajorVersion() << ":" << GetMinorVersion() << ":"
<< GetStepping();
+ printf("full_name: %s\n", full_name.str().c_str());
return full_name.str();
}
Recompiled and replaced old libs wtih:
sudo mv ~/ROCR-Runtime/build/*.so* /opt/rocm/hsa/lib/
Run vector_copy and it prints:
full_name: AMD:AMDGPU:7:0:0
full_name: AMD:AMDGPU:7:0:1
full_name: AMD:AMDGPU:7:0:2
full_name: AMD:AMDGPU:8:0:1
full_name: AMD:AMDGPU:8:0:2
full_name: AMD:AMDGPU:8:0:3
full_name: AMD:AMDGPU:9:0:0
full_name: AMD:AMDGPU:9:0:1
full_name: AMD:AMDGPU:9:0:2
full_name: AMD:AMDGPU:9:0:3
full_name: AMD:AMDGPU:0:0:0
(ROCm-gdb) b amd::Load()
Function "amd::Load()" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (amd::Load()) pending.
(ROCm-gdb) r
Starting program: /opt/rocm/hsa/sample/vector_copy
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
full_name: AMD:AMDGPU:7:0:0
full_name: AMD:AMDGPU:7:0:1
full_name: AMD:AMDGPU:7:0:2
full_name: AMD:AMDGPU:8:0:1
full_name: AMD:AMDGPU:8:0:2
full_name: AMD:AMDGPU:8:0:3
full_name: AMD:AMDGPU:9:0:0
full_name: AMD:AMDGPU:9:0:1
full_name: AMD:AMDGPU:9:0:2
full_name: AMD:AMDGPU:9:0:3
Breakpoint 1, amd::Load () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:186
186 if (hsaKmtOpenKFD() != HSAKMT_STATUS_SUCCESS) {
(ROCm-gdb) c
Continuing.
full_name: AMD:AMDGPU:0:0:0
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adc200 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
Breakpoint 1, amd::Load () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:186
186 if (hsaKmtOpenKFD() != HSAKMT_STATUS_SUCCESS) {
(ROCm-gdb) s
191 BuildTopology();
(ROCm-gdb) s
amd::BuildTopology () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:142
142 void BuildTopology() {
(ROCm-gdb) list
137 }
138 }
139
140 /// @brief Calls Kfd thunk to get the snapshot of the topology of the system,
141 /// which includes associations between, node, devices, memory and caches.
142 void BuildTopology() {
143 HsaVersionInfo info;
144 if (hsaKmtGetVersion(&info) != HSAKMT_STATUS_SUCCESS) {
145 return;
146 }
(ROCm-gdb) n
144 if (hsaKmtGetVersion(&info) != HSAKMT_STATUS_SUCCESS) {
(ROCm-gdb) s
148 if (info.KernelInterfaceMajorVersion == kKfdVersionMajor &&
(ROCm-gdb) p info.KernelInerfaceMajorVersion
There is no member named KernelInerfaceMajorVersion.
(ROCm-gdb) p info.KernelInterfaceMajorVersion
$1 = 1
(ROCm-gdb) p kKfdVersionMajor
$2 = 0
(ROCm-gdb) s
154 if (info.KernelInterfaceMajorVersion == 1 &&
(ROCm-gdb) s
155 info.KernelInterfaceMinorVersion == 0) {
(ROCm-gdb) p info.KernelInterfaceMinorVersion
$3 = 2
(ROCm-gdb) s
154 if (info.KernelInterfaceMajorVersion == 1 &&
(ROCm-gdb) s
160 hsaKmtReleaseSystemProperties();
(ROCm-gdb) s
162 if (hsaKmtAcquireSystemProperties(&props) != HSAKMT_STATUS_SUCCESS) {
(ROCm-gdb) s
166 core::Runtime::runtime_singleton_->SetLinkCount(props.NumNodes);
(ROCm-gdb) s
core::Runtime::SetLinkCount (this=0x619e10, num_link=1) at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:255
255 const size_t last_index = GetIndexLinkInfo(0, num_link);
(ROCm-gdb) s
core::Runtime::GetIndexLinkInfo (this=0x619e10, node_id_from=0, node_id_to=1) at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:282
282 const uint32_t node_id_max = std::max(node_id_from, node_id_to) - 1;
(ROCm-gdb) n
283 const uint32_t node_id_min = std::min(node_id_from, node_id_to);
(ROCm-gdb) p node_id_max
$4 = 0
(ROCm-gdb) p node_id_from
$5 = 0
(ROCm-gdb) p node_id_to
$6 = 1
(ROCm-gdb) n
284 return ((node_id_max * (node_id_max + 1) / 2) + node_id_min);
(ROCm-gdb) p ((node_id_max * (node_id_max + 1) / 2) + node_id_min)
$7 = 0
(ROCm-gdb) n
285 }
(ROCm-gdb) n
core::Runtime::SetLinkCount (this=0x619e10, num_link=1) at /home/constantine/ROCR-Runtime/src/core/runtime/runtime.cpp:256
256 link_matrix_.resize(last_index);
(ROCm-gdb) p last_index
$8 = 0
(ROCm-gdb) p link_matrix
No symbol "link_matrix" in current context.
(ROCm-gdb) p link_matrix_
$9 = {<std::_Vector_base<core::Runtime::LinkInfo, std::allocator<core::Runtime::LinkInfo> >> = {
_M_impl = {<std::allocator<core::Runtime::LinkInfo>> = {<__gnu_cxx::new_allocator<core::Runtime::LinkInfo>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
_M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
(ROCm-gdb) n
259 link_matrix_.size() * sizeof(hsa_amd_memory_pool_link_info_t));
(ROCm-gdb) p link_matrix_.size()
$10 = 0
(ROCm-gdb) n
258 memset(&link_matrix_[0], 0,
(ROCm-gdb) n
259 link_matrix_.size() * sizeof(hsa_amd_memory_pool_link_info_t));
(ROCm-gdb) n
260 }
(ROCm-gdb) n
amd::BuildTopology () at /home/constantine/ROCR-Runtime/src/core/runtime/amd_topology.cpp:169
169 for (HSAuint32 node_id = 0; node_id < props.NumNodes; node_id++) {
(ROCm-gdb) p props.NumNodes
$11 = 1
(ROCm-gdb) n
170 HsaNodeProperties node_prop = {0};
(ROCm-gdb) p node_prop
$12 = {NumCPUCores = 16711680, NumFComputeCores = 0, NumMemoryBanks = 255, NumCaches = 0, NumIOLinks = 0, CComputeIdLo = 0, FComputeIdLo = 0, Capability = {Value = 0,
ui32 = {HotPluggable = 0, HSAMMUPresent = 0, SharedWithGraphics = 0, QueueSizePowerOfTwo = 0, QueueSize32bit = 0, QueueIdleEvent = 0, VALimit = 0,
WatchPointsSupported = 0, WatchPointsTotalBits = 0, DoorbellType = 0, AQLQueueDoubleMap = 0, Reserved = 0}}, MaxWavesPerSIMD = 0, LDSSizeInKB = 0, GDSSizeInKB = 0,
WaveFrontSize = 0, NumShaderBanks = 0, NumArrays = 0, NumCUPerArray = 0, NumSIMDPerCU = 0, MaxSlotsScratchCU = 0, EngineId = {Value = 0, ui32 = {uCode = 0, Major = 0,
Minor = 0, Stepping = 0}}, VendorId = 0, DeviceId = 0, LocationId = 0, LocalMemSize = 0, MaxEngineClockMhzFCompute = 0, MaxEngineClockMhzCCompute = 0,
MarketingName = {28515, 28781, 29813, 101, 56160, 65535, 32767, 0 <repeats 25 times>, 29486, 11887, 8241, 26988, 16738, 17485, 21320, 17473, 0 <repeats 12 times>, 1, 0,
0, 0, 438, 0, 0, 0, 1, 0, 0, 0},
AMDName = "\001\000\000\000\000\000\000\000\230\377\377\377\377\377\377\377ore\000\000\000\000\000@\000\000\000\000\000\000\000\340Ln\367\377\177\000\000\000\000\000\000\000\000\000\000P\245\203\367\377\177\000\000\000\000\000\000\000\000\000",
Reserved = "\340Ln\367\377\177\000\000\000\220\375\367\377\177\000\000-\000\000\000\000\000\000\000<\025M\367\377\177\000\000\001\000\000\000INSYHPQO\001\000\000\000\000\326\377\377\377\177\000\000\000\357\323>\000\210\211_"}
(ROCm-gdb) n
171 if (hsaKmtGetNodeProperties(node_id, &node_prop) != HSAKMT_STATUS_SUCCESS) {
(ROCm-gdb) s
175 const CpuAgent* cpu = DiscoverCpu(node_id, node_prop);
(ROCm-gdb) n
176 const GpuAgent* gpu = DiscoverGpu(node_id, node_prop);
(ROCm-gdb) p cpu
$13 = (const amd::CpuAgent *) 0x61a530
(ROCm-gdb) n
full_name: AMD:AMDGPU:0:0:0
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adc200 in core::Isa::GetMajorVersion (this=0x0) at /home/constantine/ROCR-Runtime/src/core/inc/isa.h:124
124 return std::get<0>(version_);
Switched to vanilla gdb for TUI...

Digging further...

https://www.youtube.com/watch?v=bLHL75H_VEM