Skip to content

Commit 5970877

Browse files
committed
Improved dev tool section of ROCm overview
1 parent 0b9f1bb commit 5970877

1 file changed

Lines changed: 57 additions & 76 deletions

File tree

docs/site_specific_config/rocm.md

Lines changed: 57 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Overview of ROCm Ecosystem (v6.4.1-20250611)
1+
# Overview of ROCm Ecosystem (v6.4.1-20250616)
22

33
!!! warning "Work-in-progress"
44
This document is a work-in-progress.
55
It may still contain inaccuracies or mistakes.
66

77
This overview is being created in the context of adding support for ROCm to EESSI, the European Environment for Scientific Software Installations (<https://eessi.io>).
88

9-
*Last update: 11 Jun 2025*
9+
*Last update: 16 Jun 2025*
1010

1111
[Jump to Overview](#Introduction) | [Jump to ABC](#ABC-of-ROCm) | [Jump to Changelog](#Changelog)
1212

@@ -265,47 +265,69 @@ graph LR;
265265
* ROC gdb: Debugger for HIP and OpenCL applications ([Github](https://github.com/ROCm/ROCgdb))
266266
* ROC Tracer: API tracing library ([Github](https://github.com/ROCm/roctracer))
267267
* ROC Profiler: Performance profiling tool ([Github](https://github.com/ROCm/rocprofiler))
268+
* ROC Debugger API: Provides support necessary for debugging tools ([Github](https://github.com/ROCm/ROCdbgapi))
268269
* Profiler SDK: New profiler SDK, combines ROC Tracer and ROC Profiler ([Github](https://github.com/ROCm/rocprofiler-sdk))
269270
* Compute Profiler: Performance analysis tool for AMD GPUs ([Github](https://github.com/ROCm/rocprofiler-compute))
270271
* Systems Profiler: Performance analysis tool for applications on the CPU and GPU ([Github](https://github.com/ROCm/rocprofiler-systems))
271272

272273
### Developer Tools Dependencies
274+
273275
```mermaid
274276
graph LR;
275-
subgraph Developer tools
276-
D[ROCProfiler]
277-
A[ROCm-cmake]
278-
B[ROCTracer]
279-
H[ROCm Compute Profiler]
280-
C[ROCgdb]
281-
end
282-
subgraph ROCm Components
283-
F[ROCm LLVM]
284-
E[ROCm Core]
285-
G[ROCminfo]
277+
subgraph Core Components
278+
rocmstack[ROCm Stack - driver, runtime, llvm, hip]
279+
rocmsmi[ROCm SMI]
280+
rocmcmake[ROCm CMake]
286281
end
287-
B -->|Depends on| E
288-
B -->|Depends on| F
289-
D -->|Depends on| F
290-
D -->|Depends on| E
291-
D -->|Depends on| G
292-
A -->|Depends on| F
293-
H -->|Depends on| E
282+
283+
rocgdb[ROC gdb]
284+
roctracer[ROC Tracer]
285+
rocprofiler[ROC Profiler]
286+
rocdbgapi[ROC Debugger API]
287+
profilersdk[Profiler SDK]
288+
computeprofiler[Compute Profiler]
289+
systemsprofiler[Systems Profiler]
290+
291+
rocgdb --> rocmstack
292+
rocgdb --> rocdbgapi
293+
294+
roctracer --> rocmstack
295+
296+
rocdbgapi --> rocmstack
297+
rocdbgapi --> rocmcmake
298+
299+
rocprofiler --> rocmstack
300+
rocprofiler --> rocmsmi
301+
rocprofiler --> rocdbgapi
302+
303+
profilersdk --> rocmstack
304+
305+
computeprofiler --> rocmstack
306+
computeprofiler --> rocmsmi
307+
computeprofiler --> rocdbgapi
308+
309+
systemsprofiler --> rocmstack
310+
systemsprofiler --> rocmsmi
311+
systemsprofiler --> profilersdk
294312
```
295313

296314
## Libraries and Frameworks {: #Libraries-and-Frameworks }
297315

298316
[ROCm](#ROCm) provides a rich set of libraries to accelerate various computational workloads.
299317

318+
[ROCm](#ROCm) also provides a set of marshalling libraries which implement a portable interface for operations across different GPU vendors (AMD and NVIDIA).
319+
These libraries automatically translate calls to the appropriate backend - either "roc" variants or "cu" variants - depending on the target hardware.
320+
The "roc" variants like rocFFT are AMD's native implementations optimized specifically for AMD GPUs, while the "hip" variants like hipFFT are the portable wrappers that can target either AMD or NVIDIA hardware through a unified API.
321+
300322
### Core Math Libraries
301323

324+
* hipBLASLt: General matrix-matrix operations, extends beyond BLAS ([Github](https://github.com/ROCm/hipBLASLt))
325+
* hipSPARSELt: Marshalling library and ROCm version of cuSPARSELt ([Github](https://github.com/ROCm/hipSPARSELt))
326+
* rocBLAS: Basic Linear Algebra Subprograms implementation ([Github](https://github.com/ROCm/rocBLAS))
302327
* rocFFT: Fast Fourier Transform implementation ([Github](https://github.com/ROCm/rocFFT))
303328
* rocRAND: Random number generator library ([Github](https://github.com/ROCm/rocRAND))
304-
* rocBLAS: Basic Linear Algebra Subprograms implementation ([Github](https://github.com/ROCm/rocBLAS))
305-
* rocSPARSE: Sparse matrix routines ([Github](https://github.com/ROCm/rocSPARSE))
306329
* rocSOLVER: Linear algebra solver library ([Github](https://github.com/ROCm/rocSOLVER))
307-
* hipBLASLt: General matrix-matrix operations, extends beyond BLAS ([Github](https://github.com/ROCm/hipBLASLt))
308-
* hipSPARSELt: Marshalling library and ROCm version of cuSPARSELt ([Github](https://github.com/ROCm/hipSPARSELt))
330+
* rocSPARSE: Sparse matrix routines ([Github](https://github.com/ROCm/rocSPARSE))
309331

310332
### ML/DL Frameworks
311333

@@ -319,66 +341,18 @@ graph LR;
319341

320342
### Marshalling Libraries
321343

344+
* hipBLAS ([Github](https://github.com/ROCm/hipBLAS))
322345
* hipFFT ([Github](https://github.com/ROCm/hipFFT))
323346
* hipRAND ([Github](https://github.com/ROCm/hipRAND))
324-
* hipBLAS ([Github](https://github.com/ROCm/hipBLAS))
325-
* hipSPARSE ([Github](https://github.com/ROCm/hipSPARSE))
326347
* hipSOLVER ([Github](https://github.com/ROCm/hipSOLVER))
348+
* hipSPARSE ([Github](https://github.com/ROCm/hipSPARSE))
327349

328-
## Dependencies Graph
329-
330-
```mermaid
331-
graph LR;
332-
subgraph Core Components
333-
driver[AMDGPU Driver]
334-
runtime[ROCm Platform Runtime]
335-
llvm[ROCm LLVM Compiler]
336-
hip[HIP]
337-
amdsmi[AMD SMI]
338-
rocmsmi[ROCm SMI]
339-
rocmcmake[ROCm CMake]
340-
rocminfo[ROCm Info]
341-
rocmexamples[ROCm Examples]
342-
end
343-
subgraph Programming Models
344-
openmp[OpenMP Support]
345-
opencl[OpenCL Support]
346-
end
347-
subgraph Developer Tools
348-
rocgdb[ROC gdb]
349-
roctracer[ROC Tracer]
350-
rocprofiler[ROC Profiler]
351-
profilersdk[Profiler SDK]
352-
computeprofiler[Compute Profiler]
353-
systemsprofiler[Systems Profiler]
354-
end
355-
356-
runtime --> driver
357-
runtime --> llvm
358-
359-
hip --> runtime
360-
hip --> llvm
361-
hip --> rocmcmake
362-
hip --> rocminfo
363-
364-
rocmcmake --> llvm
365-
rocminfo --> llvm
366-
367-
rocmexamples --> hip
368-
rocmexamples --> amdsmi
369-
370-
openmp --> runtime
371-
openmp --> llvm
372-
opencl --> runtime
373-
opencl --> llvm
374-
375-
%% TODO: debug tools
376-
```
350+
### Libraries and Frameworks Dependencies
377351

378352
```mermaid
379353
graph LR;
380354
subgraph Core Components
381-
rocmstack[ROCm Stack]
355+
rocmstack[ROCm Stack - driver, runtime, llvm, hip]
382356
end
383357
subgraph Developer Tools
384358
roctracer[ROC Tracer]
@@ -598,3 +572,10 @@ Vega refers to AMD's GPU architecture that was one of the first to fully support
598572

599573
* fixed dependency graphs (except for dev tools)
600574
* added ROCm dependencies of PyTorch
575+
576+
## v6.4.1-20250616
577+
578+
* added ROC Debugger API to dev tools
579+
* fixed dev tools dependencies graph
580+
* sorted libraries
581+
* removed the big dependencies graph in favour of dedicated ones

0 commit comments

Comments
 (0)