Skip to content

Commit b1f68e3

Browse files
committed
Improved dependency graphs and added PyTorch dependencies
1 parent b09d220 commit b1f68e3

File tree

1 file changed

+154
-76
lines changed

1 file changed

+154
-76
lines changed

docs/site_specific_config/rocm.md

Lines changed: 154 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Overview of ROCm Ecosystem (v6.4.1-20250610)
1+
# Overview of ROCm Ecosystem (v6.4.1-20250611)
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: 10 Jun 2025*
9+
*Last update: 11 Jun 2025*
1010

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

@@ -139,28 +139,29 @@ An overview of gfx codes:
139139

140140
```mermaid
141141
graph LR;
142-
A[AMDGPU Driver]
143-
B[ROCm Platform Runtime]
144-
C[ROCm LLVM Compiler]
145-
D[HIP]
146-
E[AMD SMI]
147-
F[ROCm CMake]
148-
G[ROCm Info]
149-
H[ROCm Examples]
150-
151-
B --> A
152-
B --> C
153-
154-
D --> B
155-
D --> C
156-
D --> F
157-
D --> G
158-
159-
F --> C
160-
G --> C
161-
162-
H --> D
163-
H --> E
142+
driver[AMDGPU Driver]
143+
runtime[ROCm Platform Runtime]
144+
llvm[ROCm LLVM Compiler]
145+
hip[HIP]
146+
amdsmi[AMD SMI]
147+
rocmsmi[ROCm SMI]
148+
rocmcmake[ROCm CMake]
149+
rocminfo[ROCm Info]
150+
rocmexamples[ROCm Examples]
151+
152+
runtime --> driver
153+
runtime --> llvm
154+
155+
hip --> runtime
156+
hip --> llvm
157+
hip --> rocmcmake
158+
hip --> rocminfo
159+
160+
rocmcmake --> llvm
161+
rocminfo --> llvm
162+
163+
rocmexamples --> hip
164+
rocmexamples --> amdsmi
164165
```
165166

166167
## Programming Models {: #Programming-Models }
@@ -201,25 +202,25 @@ While not the primary focus of [ROCm](#ROCm), [OpenCL](#OpenCL) support is maint
201202
```mermaid
202203
graph LR;
203204
subgraph Core Components
204-
B[ROCm Platform Runtime]
205-
C[ROCm LLVM Compiler]
206-
F[ROCm CMake]
207-
G[ROCm Info]
205+
runtime[ROCm Platform Runtime]
206+
llvm[ROCm LLVM Compiler]
207+
rocmcmake[ROCm CMake]
208+
rocminfo[ROCm Info]
208209
end
209210
210-
D[HIP]
211-
I[OpenMP Support]
212-
J[OpenCL Support]
211+
hip[HIP]
212+
openmp[OpenMP Support]
213+
opencl[OpenCL Support]
213214
214-
D --> B
215-
D --> C
216-
D --> F
217-
D --> G
215+
hip --> runtime
216+
hip --> llvm
217+
hip --> rocmcmake
218+
hip --> rocminfo
218219
219-
I --> B
220-
I --> C
221-
J --> B
222-
J --> C
220+
openmp --> runtime
221+
openmp --> llvm
222+
opencl --> runtime
223+
opencl --> llvm
223224
```
224225

225226
## Compiler Ecosystem {: #Compiler-Ecosystem }
@@ -261,11 +262,12 @@ graph LR;
261262

262263
[ROCm](#ROCm) offers several tools to aid in development, debugging, and performance optimization:
263264

264-
* ROCgdb: Debugger for HIP and OpenCL applications ([Github](https://github.com/ROCm/ROCgdb))
265-
* ROCProfiler: Performance profiling tool ([Github](https://github.com/ROCm/rocprofiler))
266-
* rocm-cmake: CMake modules for ROCm ([Github](https://github.com/ROCm/rocm-cmake))
267-
* ROCm Compute Profiler: Performance analysis tool for AMD GPUs ([Github](https://github.com/ROCm/rocprofiler-compute))
268-
* ROCTracer: API tracing library ([Github](https://github.com/ROCm/roctracer))
265+
* ROC gdb: Debugger for HIP and OpenCL applications ([Github](https://github.com/ROCm/ROCgdb))
266+
* ROC Tracer: API tracing library ([Github](https://github.com/ROCm/roctracer))
267+
* ROC Profiler: Performance profiling tool ([Github](https://github.com/ROCm/rocprofiler))
268+
* Profiler SDK: New profiler SDK, combines ROC Tracer and ROC Profiler ([Github](https://github.com/ROCm/rocprofiler-sdk))
269+
* Compute Profiler: Performance analysis tool for AMD GPUs ([Github](https://github.com/ROCm/rocprofiler-compute))
270+
* Systems Profiler: Performance analysis tool for applications on the CPU and GPU ([Github](https://github.com/ROCm/rocprofiler-systems))
269271

270272
### Developer Tools Dependencies
271273
```mermaid
@@ -297,62 +299,133 @@ graph LR;
297299

298300
### Core Math Libraries
299301

300-
* rocBLAS: Basic Linear Algebra Subprograms implementation ([Github](https://github.com/ROCm/rocBLAS))
301-
* rocSOLVER: Linear algebra solver library ([Github](https://github.com/ROCm/rocSOLVER))
302302
* rocFFT: Fast Fourier Transform implementation ([Github](https://github.com/ROCm/rocFFT))
303303
* rocRAND: Random number generator library ([Github](https://github.com/ROCm/rocRAND))
304+
* rocBLAS: Basic Linear Algebra Subprograms implementation ([Github](https://github.com/ROCm/rocBLAS))
304305
* rocSPARSE: Sparse matrix routines ([Github](https://github.com/ROCm/rocSPARSE))
306+
* rocSOLVER: Linear algebra solver library ([Github](https://github.com/ROCm/rocSOLVER))
307+
* hipBLASLt: Genereal 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))
305309

306310
### ML/DL Frameworks
307311

308312
* MIOpen: Deep learning primitives library ([Github](https://github.com/ROCm/MIOpen))
309-
* ROCm TensorFlow: TensorFlow support for AMD GPUs ([Github](https://github.com/ROCm/tensorflow-upstream))
310313
* ROCm PyTorch: PyTorch support for AMD GPUs ([Github](https://github.com/ROCm/pytorch))
311-
* RCCL: Communication library for multi-GPU/multi-node training ([Github](https://github.com/ROCm/rccl))
314+
* ROCm TensorFlow: TensorFlow support for AMD GPUs ([Github](https://github.com/ROCm/tensorflow-upstream))
312315

313316
### Communication Libraries
314317

315-
* ROCm Communication Collectives Library (RCCL): Optimized collective operations ([Github](https://github.com/ROCm/rccl))
316-
* UCX: Unified Communication X support ([Github](https://github.com/openucx/ucx))
317-
* ROCm MPI: Message Passing Interface integration ([Github](https://github.com/ROCm/rocm_smi_lib))
318+
* RCCL: Communication library for multi-GPU/multi-node training ([Github](https://github.com/ROCm/rccl))
319+
320+
### Marshalling Libraries
321+
322+
* hipFFT ([Github](https://github.com/ROCm/hipFFT))
323+
* hipRAND ([Github](https://github.com/ROCm/hipRAND))
324+
* hipBLAS ([Github](https://github.com/ROCm/hipBLAS))
325+
* hipSPARSE ([Github](https://github.com/ROCm/hipSPARSE))
326+
* hipSOLVER ([Github](https://github.com/ROCm/hipSOLVER))
318327

319328
## Dependencies Graph
320329

321330
```mermaid
322331
graph LR;
323332
subgraph Core Components
324-
A[AMDGPU Driver]
325-
B[ROCm Platform Runtime]
326-
C[ROCm LLVM Compiler]
327-
D[HIP]
328-
E[AMD SMI]
329-
F[ROCm CMake]
330-
G[ROCm Info]
331-
H[ROCm Examples]
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]
332342
end
333343
subgraph Programming Models
334-
I[OpenMP Support]
335-
J[OpenCL Support]
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]
336354
end
337355
338-
B --> A
339-
B --> C
356+
runtime --> driver
357+
runtime --> llvm
358+
359+
hip --> runtime
360+
hip --> llvm
361+
hip --> rocmcmake
362+
hip --> rocminfo
340363
341-
D --> B
342-
D --> C
343-
D --> F
344-
D --> G
364+
rocmcmake --> llvm
365+
rocminfo --> llvm
345366
346-
F --> C
347-
G --> C
367+
rocmexamples --> hip
368+
rocmexamples --> amdsmi
348369
349-
H --> D
350-
H --> E
370+
openmp --> runtime
371+
openmp --> llvm
372+
opencl --> runtime
373+
opencl --> llvm
351374
352-
I --> B
353-
I --> C
354-
J --> B
355-
J --> C
375+
%% TODO: debug tools
376+
```
377+
378+
```mermaid
379+
graph LR;
380+
subgraph Core Components
381+
rocmstack[ROCm Stack]
382+
end
383+
subgraph Developer Tools
384+
roctracer[ROC Tracer]
385+
end
386+
subgraph Libraries and Frameworks
387+
rocfft[rocFFT]
388+
rocrand[rocRAND]
389+
rocblas[rocBLAS]
390+
rocsparse[rocSPARSE]
391+
rocsolver[rocSOLVER]
392+
hipblaslt[hipBLASLt]
393+
hipsparselt[hipSPARSELt]
394+
miopen[MIOpen]
395+
rccl[RCCL]
396+
hipfft[hipFFT]
397+
hiprand[hipRAND]
398+
hipblas[hipBLAS]
399+
hipsparse[hipSPARSE]
400+
hipsolver[hipSOLVER]
401+
end
402+
403+
rocfft --> rocmstack
404+
rocrand --> rocmstack
405+
rocblas --> rocmstack
406+
rocsparse --> rocmstack
407+
rocsolver --> rocmstack
408+
rocsolver --> rocblas
409+
hipblaslt --> rocmstack
410+
hipblaslt --> roctracer
411+
hipsparselt --> rocmstack
412+
hipsparselt --> roctracer
413+
hipsparselt --> hipsparse
414+
415+
miopen --> rocmstack
416+
miopen --> rocblas
417+
miopen --> hipblaslt
418+
miopen --> hipblas
419+
420+
rccl --> rocmstack
421+
422+
hipfft --> rocfft
423+
hiprand --> rocrand
424+
hipblas --> rocblas
425+
hipblas --> rocsparse
426+
hipblas --> rocsolver
427+
hipsparse --> rocsparse
428+
hipsolver --> rocsolver
356429
```
357430

358431
## Compatibility Policies {: #Compatibility-Policies }
@@ -510,7 +583,7 @@ Vega refers to AMD's GPU architecture that was one of the first to fully support
510583

511584
# Changelog {: #Changelog }
512585

513-
## v6.4.1-20250606
586+
## v6.4.1-20250610
514587

515588
* started changelog
516589
* moved github and azure links
@@ -520,3 +593,8 @@ Vega refers to AMD's GPU architecture that was one of the first to fully support
520593
* improved programming models dependencies graph
521594
* removed compilers dependencies graph
522595
* added a big dependencies graph
596+
597+
## v6.4.1-20250611
598+
599+
* fixed dependency graphs (except for dev tools)
600+
* added ROCm dependencies of PyTorch

0 commit comments

Comments
 (0)